[go: up one dir, main page]

CN114009018A - System and method for reducing reconstruction errors in video coding based on cross-component correlation - Google Patents

System and method for reducing reconstruction errors in video coding based on cross-component correlation Download PDF

Info

Publication number
CN114009018A
CN114009018A CN202080045948.2A CN202080045948A CN114009018A CN 114009018 A CN114009018 A CN 114009018A CN 202080045948 A CN202080045948 A CN 202080045948A CN 114009018 A CN114009018 A CN 114009018A
Authority
CN
China
Prior art keywords
component
cross
filter
alf
chroma
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.)
Pending
Application number
CN202080045948.2A
Other languages
Chinese (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.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Publication of CN114009018A publication Critical patent/CN114009018A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/132Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/186Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a colour or a chrominance component
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/80Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation
    • H04N19/82Details of filtering operations specially adapted for video compression, e.g. for pixel interpolation involving filtering within a prediction loop

Landscapes

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

Abstract

The invention discloses a method for filtering reconstructed video data. The method comprises the following steps: inputting a reconstructed brightness component sample value; deriving filtered sample values by using cross component filter coefficients and the reconstructed luma component sample values prior to an adaptive loop filtering process; deriving a refinement value for a chrominance component by using the filtered sample value; and deriving a refined chroma sample value by using a sum of the sample value of the chroma component and a refined value for the chroma component.

Description

用于基于交叉分量相关性来减小视频编码中的重构误差的系 统和方法System and method for reducing reconstruction error in video coding based on cross-component correlation

技术领域technical field

本公开涉及视频编码,并且更具体地涉及用于减小重构误差的技术。The present disclosure relates to video coding, and more particularly to techniques for reducing reconstruction error.

背景技术Background technique

数字视频功能可以结合到各种设备中,包括数字电视、笔记本电脑或台式电脑、平板电脑、数字录音设备、数字媒体播放器、视频游戏设备、蜂窝电话(包括所谓的智能电话)、医学成像设备等。可以根据视频编码标准对数字视频进行编码。视频编码标准定义了封装编码视频数据的合规比特流的格式。合规比特流是可以由视频解码设备接收和解码以生成重构视频数据的数据结构。视频编码标准可以结合视频压缩技术。视频编码标准的示例包括ISO/IEC MPEG-4 Visual和ITU-T H.264(也被称为ISO/IEC MPEG-4 AVC)和高效视频编码(HEVC)。HEVC在2016年12月的ITU-T H.265建议书的高效视频编码(HEVC)中有所描述,该文献以引用方式并入本文,并且在本文中被称为ITU-T H.265。目前正在考虑对ITU-TH.265进行扩展和改进以开发下一代视频编码标准。例如,ITU-T视频编码专家组(VCEG)和ISO/IEC活动图像专家组(MPEG)(被统称为联合视频研究组(JVET))正在致力于标准化压缩能力显著超过当前HEVC标准的视频编码技术。以引用方式并入本文的联合探索模型7(JEM7)、联合探索测试模型7(JEM 7)的算法描述、ISO/IEC JTC1/SC29/WG11文档:JVET-G1001(2017年7月,意大利,都灵)描述了由JVET在联合测试模型研究下的编码特征,该技术是超越ITU-T H.265功能的潜在增强视频编码技术。应当指出的是,JEM 7的编码特征在JEM参考软件中实现。如本文所用,术语JEM可统称包括在JEM 7中的算法以及JEM参考软件的具体实施。此外,响应于由VCEG和MPEG联合发布的“Joint Call for Proposals on VideoCompression with Capabilities beyond HEVC”,在2018年4月16日至20日于加利福尼亚州圣地亚哥(San Diego,CA)举行的ISO/IEC JTC1/SC29/WG11第10次会议上,各个小组提出了对视频编码工具的多种描述。根据对视频编码工具的多种描述,视频编码规范的最终初始草案文本在2018年4月16日至20日于加利福尼亚州圣地亚哥举行的ISO/IEC JTC1/SC29/WG11第10次会议中的“Versatile Video Coding(Draft 1)”即文档JVET-J1001-v2中有所描述,该文档以引用方式并入本文并且被称为JVET-J1001。JVET和MPEG的下一代视频编码标准的当前开发被称为通用视频编码(VVC)项目。2019年3月19日至27日在瑞士日内瓦举行的ISO/IEC JTC1/SC29/WG11第14次会议中的“Versatile Video Coding(Draft 5)”(文档JVET-N1001-v8,其以引用方式并入本文,并且称为JVET-N1001)表示对应于VVC项目的视频编码规范的草稿文本的新版本。2019年7月3日至12日在瑞典哥德堡举行的ISO/IEC JTC1/SC29/WG11第15次会议中的“Versatile Video Coding(Draft 6)”(文档JVET-O2001-vE,其以引用方式并入本文,并且称为JVET-O2001)表示对应于VVC项目的视频编码规范的草稿文本的当前版本。Digital video capabilities can be incorporated into a variety of devices, including digital televisions, laptop or desktop computers, tablet computers, digital recording devices, digital media players, video game devices, cellular phones (including so-called smart phones), medical imaging devices Wait. Digital video may be encoded according to video encoding standards. A video coding standard defines the format of a compliant bitstream that encapsulates encoded video data. A compliant bitstream is a data structure that can be received and decoded by a video decoding device to generate reconstructed video data. Video coding standards may incorporate video compression techniques. Examples of video coding standards include ISO/IEC MPEG-4 Visual and ITU-T H.264 (also known as ISO/IEC MPEG-4 AVC) and High Efficiency Video Coding (HEVC). HEVC is described in ITU-T Rec. H.265, High Efficiency Video Coding (HEVC), December 2016, incorporated herein by reference, and referred to herein as ITU-T H.265. Extensions and improvements to ITU-TH.265 are currently under consideration to develop next-generation video coding standards. For example, the ITU-T Video Coding Experts Group (VCEG) and the ISO/IEC Moving Picture Experts Group (MPEG) (collectively known as the Joint Video Study Group (JVET)) are working to standardize video coding techniques with compression capabilities significantly exceeding the current HEVC standard . Joint Exploratory Model 7 (JEM7), Algorithmic Description of Joint Exploratory Testing Model 7 (JEM 7), ISO/IEC JTC1/SC29/WG11 Document: JVET-G1001 (July 2017, Italy, both incorporated by reference) Ling) describes the coding characteristics studied by JVET under a joint test model, which is a potential enhanced video coding technique beyond the capabilities of ITU-T H.265. It should be noted that the encoding features of JEM 7 are implemented in the JEM reference software. As used herein, the term JEM may collectively refer to the algorithms included in JEM 7 as well as specific implementations of the JEM reference software. In addition, in response to "Joint Call for Proposals on VideoCompression with Capabilities beyond HEVC" jointly published by VCEG and MPEG, at ISO/IEC JTC1 April 16-20, 2018 in San Diego, CA At the 10th meeting of /SC29/WG11, various groups proposed various descriptions of video coding tools. Based on various descriptions of video coding tools, the final initial draft text of the video coding specification was presented at the "Versatile Video Coding (Draft 1)" is described in document JVET-J1001-v2, which is incorporated herein by reference and referred to as JVET-J1001. The current development of JVET and MPEG's next-generation video coding standard is known as the Versatile Video Coding (VVC) project. "Versatile Video Coding (Draft 5)" (document JVET-N1001-v8, ISO/IEC JTC1/SC29/WG11 14th meeting, Geneva, Switzerland, 19-27 March 2019, incorporated by reference incorporated herein and referred to as JVET-N1001) represents a new version of the draft text corresponding to the Video Coding Specification of the VVC Project. "Versatile Video Coding (Draft 6)" at ISO/IEC JTC1/SC29/WG11 15th meeting, Gothenburg, Sweden, 3-12 July 2019 (document JVET-O2001-vE, incorporated by reference incorporated herein and referred to as JVET-O2001) represents the current version of the draft text corresponding to the Video Coding Specification of the VVC Project.

视频压缩技术能够减少存储和传输视频数据的数据需求。视频压缩技术可以通过利用视频序列中固有的冗余来减少数据需求。视频压缩技术可将视频序列再分成连续较小的部分(即,视频序列内的一组图片、一组图片内的图片、图片内的区域、区域内的子区域等)。可以使用帧内预测编码技术(例如,图片内的空间预测技术)和帧间预测技术(即图片间的技术(时间))来生成待编码的单位视频数据与视频数据的参考单元之间的差值。该差值可以被称为残差数据。残差数据可以被编码为量化变换系数。语法元素可以涉及残差数据和参考编码单元(例如,帧内预测模式索引和运动信息)。可以对残差数据和语法元素进行熵编码。熵编码的残差数据和语法元素可以包括在形成兼容比特流的数据结构中。Video compression techniques can reduce the data requirements for storing and transmitting video data. Video compression techniques can reduce data requirements by exploiting the redundancy inherent in video sequences. Video compression techniques may subdivide a video sequence into successively smaller portions (ie, a group of pictures within a video sequence, pictures within a group of pictures, regions within a picture, subregions within a region, etc.). Differences between a unit of video data to be encoded and a reference unit of video data may be generated using intra-frame prediction coding techniques (eg, spatial prediction techniques within a picture) and inter-frame prediction techniques (ie, inter-picture techniques (temporal)) value. This difference can be referred to as residual data. Residual data may be encoded as quantized transform coefficients. Syntax elements may relate to residual data and reference coding units (eg, intra-prediction mode index and motion information). Residual data and syntax elements may be entropy encoded. The entropy coded residual data and syntax elements may be included in the data structures forming the compatible bitstream.

发明内容SUMMARY OF THE INVENTION

在一个示例中,提供了一种对重构视频数据进行滤波的方法,该方法包括:输入重构亮度分量样本值;通过在自适应环路滤波过程之前使用交叉分量滤波器系数和重构亮度分量样本值来导出滤波样本值;通过使用滤波样本值来导出用于色度分量的细化值;以及通过使用色度分量的样本值和用于色度分量的细化值的总和来导出细化色度样本值。In one example, a method of filtering reconstructed video data is provided, the method comprising: inputting reconstructed luma component sample values; reconstructing luma by using cross component filter coefficients and reconstructing luma prior to an adaptive loop filtering process component sample values to derive filtered sample values; use the filtered sample values to derive refinement values for the chroma components; and derive refinement values by using the sum of the sample values for the chroma components and the refinement values for the chroma components Chroma sample value.

在一个示例中,提供了一种对编码数据进行解码的解码器,该解码器包括:处理器,和与该处理器相关联的存储器;其中处理器被配置为执行以下步骤:输入重构亮度分量样本值;通过在自适应环路滤波过程之前使用交叉分量滤波器系数和重构亮度分量样本值来导出滤波样本值;通过使用滤波样本值来导出用于色度分量的细化值;以及通过使用色度分量的样本值和用于色度分量的细化值的总和来导出细化色度样本值。In one example, a decoder for decoding encoded data is provided, the decoder comprising: a processor, and a memory associated with the processor; wherein the processor is configured to perform the steps of: inputting reconstructed luminance component sample values; deriving filtered sample values by using cross component filter coefficients and reconstructing luma component sample values prior to the adaptive loop filtering process; deriving refinement values for the chroma components by using the filtered sample values; and The refined chroma sample values are derived by using the sum of the sample values for the chroma components and the refinement values for the chroma components.

在一个示例中,提供了一种对视频数据进行编码的编码器,该编码器包括:处理器,和与该处理器相关联的存储器;其中处理器被配置为执行以下步骤:输入重构亮度分量样本值;通过在自适应环路滤波过程之前使用交叉分量滤波器系数和重构亮度分量样本值来导出滤波样本值;通过使用滤波样本值来导出用于色度分量的细化值;以及通过使用色度分量的样本值和用于色度分量的细化值的总和来导出细化色度样本值。In one example, there is provided an encoder for encoding video data, the encoder comprising: a processor, and a memory associated with the processor; wherein the processor is configured to perform the steps of: inputting reconstructed luminance component sample values; deriving filtered sample values by using cross component filter coefficients and reconstructing luma component sample values prior to the adaptive loop filtering process; deriving refinement values for the chroma components by using the filtered sample values; and The refined chroma sample values are derived by using the sum of the sample values for the chroma components and the refinement values for the chroma components.

附图说明Description of drawings

[图1]图1是示出根据本公开的一种或多种技术的根据四叉树多叉树划分进行编码的一组图片的示例的概念图。[ FIG. 1] FIG. 1 is a conceptual diagram illustrating an example of a group of pictures encoded according to quadtree multitree partitioning according to one or more techniques of the present disclosure.

[图2A]图2A是示出根据本公开的一种或多种技术的对视频数据块进行编码的示例的概念图。[FIG. 2A] FIG. 2A is a conceptual diagram illustrating an example of encoding a block of video data according to one or more techniques of this disclosure.

[图2B]图2B是示出根据本公开的一种或多种技术的对视频数据块进行编码的示例的概念图。[FIG. 2B] FIG. 2B is a conceptual diagram illustrating an example of encoding a block of video data according to one or more techniques of this disclosure.

[图3]图3是示出根据本公开的一种或多种技术的可使用的视频分量采样格式的示例的概念图。[ Fig. 3] Fig. 3 is a conceptual diagram illustrating an example of a video component sampling format that can be used in accordance with one or more techniques of this disclosure.

[图4A]图4A是示出根据本公开的一种或多种技术的可使用的视频分量采样格式的位置类型示例的概念图。[FIG. 4A] FIG. 4A is a conceptual diagram illustrating an example of a location type of a video component sampling format that can be used in accordance with one or more techniques of this disclosure.

[图4B]图4B是示出根据本公开的一种或多种技术的可使用的视频分量采样格式的位置类型示例的概念图。[FIG. 4B] FIG. 4B is a conceptual diagram illustrating an example of a location type of a video component sampling format that can be used in accordance with one or more techniques of this disclosure.

[图4C]图4C是示出根据本公开的一种或多种技术的可使用的视频分量采样格式的位置类型示例的概念图。[FIG. 4C] FIG. 4C is a conceptual diagram illustrating an example of a location type of a video component sampling format that can be used in accordance with one or more techniques of this disclosure.

[图4D]图4D是示出根据本公开的一种或多种技术的可使用的视频分量采样格式的位置类型示例的概念图。[FIG. 4D] FIG. 4D is a conceptual diagram illustrating an example of a location type of a video component sampling format that can be used in accordance with one or more techniques of this disclosure.

[图4E]图4E是示出根据本公开的一种或多种技术的可使用的视频分量采样格式的位置类型示例的概念图。[FIG. 4E] FIG. 4E is a conceptual diagram illustrating an example of location types of video component sampling formats that can be used in accordance with one or more techniques of this disclosure.

[图4F]图4F是示出根据本公开的一种或多种技术的可使用的视频分量采样格式的位置类型示例的概念图。[FIG. 4F] FIG. 4F is a conceptual diagram illustrating an example of a location type of a video component sampling format that can be used in accordance with one or more techniques of this disclosure.

[图5]图5是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码和解码的系统的示例的框图。[ Fig. 5] Fig. 5 is a block diagram illustrating an example of a system that may be configured to encode and decode video data according to one or more techniques of the present disclosure.

[图6]图6是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码的视频编码器的示例的框图。[ Fig. 6] Fig. 6 is a block diagram illustrating an example of a video encoder that may be configured to encode video data according to one or more techniques of the present disclosure.

[图7]图7是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码的交叉分量滤波器单元的示例的框图。[ Fig. 7] Fig. 7 is a block diagram illustrating an example of a cross-component filter unit that may be configured to encode video data in accordance with one or more techniques of this disclosure.

[图8]图8是示出根据本公开的一种或多种技术的用于视频数据的多个分量的重构误差示例的概念图。[ Fig. 8] Fig. 8 is a conceptual diagram illustrating an example of reconstruction errors for multiple components of video data according to one or more techniques of the present disclosure.

[图9A]图9A是示出根据本公开的一种或多种技术的可用于交叉分量滤波的支持样本示例的概念图。[ FIG. 9A] FIG. 9A is a conceptual diagram illustrating an example of support samples that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图9B]图9B是示出根据本公开的一种或多种技术的可用于交叉分量滤波的支持样本示例的概念图。[FIG. 9B] FIG. 9B is a conceptual diagram illustrating an example of support samples that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图9C]图9C是示出根据本公开的一种或多种技术的可用于交叉分量滤波的支持样本示例的概念图。[FIG. 9C] FIG. 9C is a conceptual diagram illustrating an example of support samples that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图9D]图9D是示出根据本公开的一种或多种技术的可用于交叉分量滤波的支持样本示例的概念图。[FIG. 9D] FIG. 9D is a conceptual diagram illustrating an example of support samples that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图9E]图9E是示出根据本公开的一种或多种技术的可用于交叉分量滤波的支持样本示例的概念图。[FIG. 9E] FIG. 9E is a conceptual diagram illustrating an example of support samples that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图9F]图9F是示出根据本公开的一种或多种技术的可用于交叉分量滤波的支持样本示例的概念图。[FIG. 9F] FIG. 9F is a conceptual diagram illustrating an example of support samples that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图10]图10是示出根据本公开的一种或多种技术的使用交叉分量滤波来减小重构误差的示例的概念图。[ Fig. 10] Fig. 10 is a conceptual diagram illustrating an example of reducing reconstruction errors using cross-component filtering according to one or more techniques of the present disclosure.

[图11A]图11A是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。[FIG. 11A] FIG. 11A is a block diagram illustrating an example of a cross-component filter unit that may be configured to reduce reconstruction error according to one or more techniques of the present disclosure.

[图11B]图11B是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。[FIG. 11B] FIG. 11B is a block diagram illustrating an example of a cross-component filter unit that may be configured to reduce reconstruction error according to one or more techniques of the present disclosure.

[图11C]图11C是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。[FIG. 11C] FIG. 11C is a block diagram illustrating an example of a cross-component filter unit that may be configured to reduce reconstruction error according to one or more techniques of the present disclosure.

[图11D]图11D是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。[FIG. 11D] FIG. 11D is a block diagram illustrating an example of a cross-component filter unit that may be configured to reduce reconstruction error according to one or more techniques of the present disclosure.

[图12A]图12A是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。[FIG. 12A] FIG. 12A is a block diagram illustrating an example of a cross-component filter unit that may be configured to reduce reconstruction error according to one or more techniques of the present disclosure.

[图12B]图12B是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。[FIG. 12B] FIG. 12B is a block diagram illustrating an example of a cross-component filter unit that may be configured to reduce reconstruction error according to one or more techniques of the present disclosure.

[图13A]图13A是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。[FIG. 13A] FIG. 13A is a block diagram illustrating an example of a cross-component filter unit that may be configured to reduce reconstruction error according to one or more techniques of the present disclosure.

[图13B]图13B是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。[FIG. 13B] FIG. 13B is a block diagram illustrating an example of a cross-component filter unit that may be configured to reduce reconstruction error according to one or more techniques of the present disclosure.

[图13C]图13C是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。[FIG. 13C] FIG. 13C is a block diagram illustrating an example of a cross-component filter unit that may be configured to reduce reconstruction error according to one or more techniques of the present disclosure.

[图14A]图14A是示出根据本公开的一种或多种技术的可用于交叉分量滤波的滤波器系数位置的示例的概念图。[ FIG. 14A] FIG. 14A is a conceptual diagram illustrating an example of filter coefficient positions that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图14B]图14B是示出根据本公开的一种或多种技术的可用于交叉分量滤波的滤波器系数位置的示例的概念图。[ Fig. 14B] Fig. 14B is a conceptual diagram illustrating an example of filter coefficient positions that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图14C]图14C是示出根据本公开的一种或多种技术的可用于交叉分量滤波的滤波器系数位置的示例的概念图。[FIG. 14C] FIG. 14C is a conceptual diagram illustrating an example of filter coefficient positions that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图14D]图14D是示出根据本公开的一种或多种技术的可用于交叉分量滤波的滤波器系数位置的示例的概念图。[FIG. 14D] FIG. 14D is a conceptual diagram illustrating an example of filter coefficient positions that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图14E]图14E是示出根据本公开的一种或多种技术的可用于交叉分量滤波的滤波器系数位置的示例的概念图。[FIG. 14E] FIG. 14E is a conceptual diagram illustrating an example of filter coefficient positions that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图14F]图14F是示出根据本公开的一种或多种技术的可用于交叉分量滤波的滤波器系数位置的示例的概念图。[FIG. 14F] FIG. 14F is a conceptual diagram illustrating an example of filter coefficient positions that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图15A]图15A是示出根据本公开的一种或多种技术的可用于交叉分量滤波的滤波器系数位置的示例的概念图。[FIG. 15A] FIG. 15A is a conceptual diagram illustrating an example of filter coefficient positions that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图15B]图15B是示出根据本公开的一种或多种技术的可用于交叉分量滤波的滤波器系数位置的示例的概念图。[FIG. 15B] FIG. 15B is a conceptual diagram illustrating an example of filter coefficient positions that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图15C]图15C是示出根据本公开的一种或多种技术的可用于交叉分量滤波的滤波器系数位置的示例的概念图。[FIG. 15C] FIG. 15C is a conceptual diagram illustrating an example of filter coefficient positions that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图15D]图15D是示出根据本公开的一种或多种技术的可用于交叉分量滤波的滤波器系数位置的示例的概念图。[FIG. 15D] FIG. 15D is a conceptual diagram illustrating an example of filter coefficient positions that may be used for cross-component filtering in accordance with one or more techniques of this disclosure.

[图16A]图16A是示出根据本公开的一种或多种技术的可用于交叉分量滤波的虚拟线缓冲器的示例的概念图。[FIG. 16A] FIG. 16A is a conceptual diagram illustrating an example of a virtual line buffer that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图16A]图16A是示出根据本公开的一种或多种技术的可用于交叉分量滤波的虚拟线缓冲器的示例的概念图。[FIG. 16A] FIG. 16A is a conceptual diagram illustrating an example of a virtual line buffer that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图16B]图16B是示出根据本公开的一种或多种技术的可用于交叉分量滤波的虚拟线缓冲器的示例的概念图。[ Fig. 16B] Fig. 16B is a conceptual diagram illustrating an example of a virtual line buffer that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图16C]图16C是示出根据本公开的一种或多种技术的可用于交叉分量滤波的虚拟线缓冲器的示例的概念图。[FIG. 16C] FIG. 16C is a conceptual diagram illustrating an example of a virtual line buffer that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图16D]图16D是示出根据本公开的一种或多种技术的可用于交叉分量滤波的虚拟线缓冲器的示例的概念图。[FIG. 16D] FIG. 16D is a conceptual diagram illustrating an example of a virtual line buffer that may be used for cross-component filtering in accordance with one or more techniques of the present disclosure.

[图17]图17是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的视频解码器的示例的框图。[ FIG. 17] FIG. 17 is a block diagram illustrating an example of a video decoder that may be configured to decode video data according to one or more techniques of this disclosure.

[图18]图18是示出根据本公开的一种或多种技术的可被配置为对视频数据进行编码的交叉分量滤波器单元的示例的框图。[FIG. 18] FIG. 18 is a block diagram illustrating an example of a cross-component filter unit that may be configured to encode video data in accordance with one or more techniques of this disclosure.

[图19A]图19A是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。[FIG. 19A] FIG. 19A is a block diagram illustrating an example of a cross-component filter unit that may be configured to reduce reconstruction error according to one or more techniques of the present disclosure.

[图19B]图19B是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。[FIG. 19B] FIG. 19B is a block diagram illustrating an example of a cross-component filter unit that may be configured to reduce reconstruction error according to one or more techniques of the present disclosure.

[图19C]图19C是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。[FIG. 19C] FIG. 19C is a block diagram illustrating an example of a cross-component filter unit that may be configured to reduce reconstruction error according to one or more techniques of the present disclosure.

具体实施方式Detailed ways

一般来讲,本公开描述了用于对视频数据进行编码的各种技术。具体地,本公开描述了用于减小重构误差的技术。应当指出的是,尽管本公开的技术是关于ITU-T H.264、ITU-T H.265、JEM、JVET-N1001和JVET-O2001描述的,但本公开的技术可普遍应用于视频编码。例如,除了包括在ITU-T H.265、JEM、JVET-N1001和JVET-O2001中的那些技术,本文所述的编码技术可并入视频编码系统(包括基于未来视频编码标准的视频编码系统),包括视频块结构、帧内预测技术、帧间预测技术、变换技术、滤波技术和/或其他熵编码技术。因此,对ITU-T H.264、ITU-T H.265、JEM、JVET-N1001和JVET-O2001的参考是出于描述性目的,并且不应被解释为限制本文所述技术的范围。此外,应当指出的是,将文献以引用方式并入本文是出于描述性目的,并且不应被解释为限制或产生关于本文所用术语的歧义。例如,在某个并入的参考文献中提供的对某个术语的定义不同于另一个并入的参考文献和/或如本文所用的该术语的情况下,则该术语应以广泛地包括每个相应定义的方式和/或以包括替代方案中每个特定定义的方式来解释。In general, this disclosure describes various techniques for encoding video data. Specifically, this disclosure describes techniques for reducing reconstruction error. It should be noted that although the techniques of this disclosure are described with respect to ITU-T H.264, ITU-T H.265, JEM, JVET-N1001, and JVET-O2001, the techniques of this disclosure are generally applicable to video encoding. For example, in addition to those included in ITU-T H.265, JEM, JVET-N1001, and JVET-O2001, the coding techniques described herein may be incorporated into video coding systems (including video coding systems based on future video coding standards) , including video block structures, intra prediction techniques, inter prediction techniques, transform techniques, filtering techniques, and/or other entropy coding techniques. Accordingly, references to ITU-T H.264, ITU-T H.265, JEM, JVET-N1001, and JVET-O2001 are for descriptive purposes and should not be construed as limiting the scope of the techniques described herein. Furthermore, it should be noted that the documents incorporated herein by reference are for descriptive purposes and should not be construed to limit or create ambiguity with respect to the terms used herein. For example, where a term is provided in one incorporated reference with a definition that differs from that in another incorporated reference and/or as used herein, the term shall be taken broadly to include each Each specific definition in the alternative is to be interpreted in a correspondingly defined manner and/or in a manner including each specific definition.

在一个示例中,一种方法包括:接收用于视频数据的当前分量的重构样本数据,接收用于视频数据的一个或多个附加分量的重构样本数据,基于与视频数据的一个或多个附加分量相关联的数据导出交叉分量滤波器,以及基于所导出的交叉分量滤波器和用于视频数据的一个或多个附加分量的重构样本数据将滤波器应用于用于视频数据的当前分量的重构样本数据。In one example, a method includes receiving reconstructed sample data for a current component of video data, receiving reconstructed sample data for one or more additional components of the video data, based on one or more differences with the video data Deriving a cross-component filter based on the data associated with the additional components and applying the filter to the current current value for the video data based on the derived cross-component filter and reconstructed sample data for the one or more additional components of the video data The reconstructed sample data for the components.

在一个示例中,一种设备包括配置为执行以下操作的一个或多个处理器:接收用于视频数据的当前分量的重构样本数据,接收用于视频数据的一个或多个附加分量的重构样本数据,基于与视频数据的一个或多个附加分量相关联的数据导出交叉分量滤波器,以及基于所导出的交叉分量滤波器和用于视频数据的一个或多个附加分量的重构样本数据将滤波器应用于用于视频数据的当前分量的重构样本数据。In one example, an apparatus includes one or more processors configured to: receive reconstructed sample data for a current component of video data, receive reconstructed sample data for one or more additional components of video data constructing sample data, deriving a cross-component filter based on data associated with one or more additional components of the video data, and reconstructing samples based on the derived cross-component filter and for the one or more additional components of the video data The data applies a filter to the reconstructed sample data for the current component of the video data.

在一个示例中,一种非暂态计算机可读存储介质包括存储在其上的指令,该指令在被执行时使得设备的一个或多个处理器:接收用于视频数据的当前分量的重构样本数据,接收用于视频数据的一个或多个附加分量的重构样本数据,基于与视频数据的一个或多个附加分量相关联的数据导出交叉分量滤波器,以及基于所导出的交叉分量滤波器和用于视频数据的一个或多个附加分量的重构样本数据将滤波器应用于用于视频数据的当前分量的重构样本数据。In one example, a non-transitory computer-readable storage medium includes instructions stored thereon that, when executed, cause one or more processors of a device to: receive reconstruction for a current component of video data sample data, receiving reconstructed sample data for one or more additional components of the video data, deriving a cross-component filter based on data associated with the one or more additional components of the video data, and filtering based on the derived cross-component The filter and the reconstructed sample data for one or more additional components of the video data apply a filter to the reconstructed sample data for the current component of the video data.

在一个示例中,一种装置包括:用于接收用于视频数据的一个或多个附加分量的重构样本数据的装置,用于基于与视频数据的一个或多个附加分量相关联的数据导出交叉分量滤波器的装置,以及用于基于所导出的交叉分量滤波器和用于视频数据的一个或多个附加分量的重构样本数据,将滤波器应用于用于视频数据的当前分量的重构样本数据的装置。In one example, an apparatus includes: means for receiving reconstructed sample data for one or more additional components of video data for deriving based on data associated with the one or more additional components of video data Means for a cross-component filter, and for applying the filter to reconstruction for a current component of the video data based on the derived cross-component filter and reconstructed sample data for one or more additional components of the video data A device for constructing sample data.

在以下附图和描述中阐述了一个或多个示例的细节。根据描述和附图以及权利要求书,其他特征、对象和优点将显而易见。The details of one or more examples are set forth in the accompanying drawings and the description below. Other features, objects and advantages will be apparent from the description and drawings, and from the claims.

视频内容包括由一系列帧(或图片)组成的视频序列。一系列帧也可以被称为一组图片(GOP)。每个视频帧或图片可被分成一个或多个区域。可根据基础单元(例如,视频块)和定义区域的规则集来定义区域。例如,定义区域的规则可以是:区域必须是布置成矩形的整数个视频块。此外,区域中的视频块可以根据扫描模式(例如,光栅扫描)来排序。如本文所用,术语“视频块”通常可以指图片的区域,或者可以更具体地指可以被预测性地编码的样本值的最大阵列、其子分区和/或对应结构。此外,术语“当前视频块”可以指图片的正被编码或解码的区域。视频块可被定义为样本值的阵列。应当指出的是,在一些情况下,像素值可被描述为包括视频数据的相应分量的样本值,其也可被称为颜色分量(例如,亮度(Y)和色度(Cb和Cr)分量或红色、绿色和蓝色分量)。应当指出的是,在一些情况下,术语“像素值”和“样本值”可互换使用。此外,在一些情况下,像素或样本可被称为pel。视频采样格式(也可以被称为色度格式)可以相对于视频块中包括的亮度样本的数量来定义视频块中包括的色度样本的数量。例如,对于4:2:0采样格式,亮度分量的采样率是水平和垂直两个方向的色度分量的采样率的两倍。Video content includes a video sequence consisting of a series of frames (or pictures). A series of frames may also be referred to as a group of pictures (GOP). Each video frame or picture can be divided into one or more regions. Regions may be defined according to basic units (eg, video blocks) and sets of rules that define regions. For example, a rule for defining a region may be that the region must be an integer number of video blocks arranged in a rectangle. Additionally, video blocks in a region may be ordered according to a scan mode (eg, raster scan). As used herein, the term "video block" may refer generally to a region of a picture, or may refer more specifically to the largest array of sample values, sub-partitions thereof, and/or corresponding structures that may be predictively encoded. Furthermore, the term "current video block" may refer to a region of a picture that is being encoded or decoded. A video block may be defined as an array of sample values. It should be noted that, in some cases, pixel values may be described as sample values including corresponding components of video data, which may also be referred to as color components (eg, luma (Y) and chrominance (Cb and Cr) components or red, green and blue components). It should be noted that in some cases the terms "pixel value" and "sample value" are used interchangeably. Also, in some cases, a pixel or sample may be referred to as a pel. A video sampling format (which may also be referred to as a chroma format) may define the number of chroma samples included in a video block relative to the number of luma samples included in the video block. For example, for the 4:2:0 sampling format, the sampling rate of the luma component is twice the sampling rate of the chroma components in both the horizontal and vertical directions.

视频编码器可对视频块和其子分区执行预测编码。视频块和其子分区可以被称为节点。ITU-T H.264指定包括16×16亮度样本的宏块。也就是说,在ITU-T H.264中,图片被分段成宏块。ITU-T H.265指定了类似的编码树单元(CTU)结构(其可被称为最大编码单元(LCU))。在ITU-T H.265中,图片被分段成CTU。在ITU-T H.265中,对于图片,CTU大小可被设定为包括16×16、32×32或64×64亮度样本。在ITU-T H.265中,CTU由视频数据的每个分量(例如,亮度(Y)和色度(Cb和Cr))的相应编码树块(CTB)构成。应当指出的是,具有一个亮度分量和两个对应色度分量的视频可被描述为具有两个通道,即,亮度通道和色度通道。此外,在ITU-T H.265中,可根据四叉树(QT)划分结构来划分CTU,这使得CTU的CTB被划分为编码块(CB)。也就是说,在ITU-T H.265中,CTU可被划分为四叉树叶节点。根据ITU-T H.265,一个亮度CB连同两个对应的色度CB和相关联语法元素被称为编码单元(CU)。在ITU-TH.265中,可以发送信号通知CB的最小允许大小。在ITU-T H.265中,亮度CB的最小允许最小大小是8×8亮度样本。在ITU-T H.265中,使用帧内预测或帧间预测对图片区域进行编码的决定在CU位阶处进行。A video encoder may perform predictive encoding on a video block and its sub-partitions. A video block and its sub-partitions may be referred to as nodes. ITU-T H.264 specifies a macroblock comprising 16x16 luma samples. That is, in ITU-T H.264, pictures are segmented into macroblocks. ITU-T H.265 specifies a similar coding tree unit (CTU) structure (which may be referred to as the largest coding unit (LCU)). In ITU-T H.265, pictures are segmented into CTUs. In ITU-T H.265, for pictures, the CTU size can be set to include 16x16, 32x32, or 64x64 luma samples. In ITU-T H.265, a CTU consists of a corresponding coding tree block (CTB) for each component of video data (eg, luma (Y) and chroma (Cb and Cr)). It should be noted that a video with one luma component and two corresponding chroma components can be described as having two channels, a luma channel and a chroma channel. In addition, in ITU-T H.265, the CTU may be divided according to a quad-tree (QT) partition structure, which enables the CTB of the CTU to be divided into coding blocks (CBs). That is, in ITU-T H.265, CTUs can be divided into quad-leaf nodes. According to ITU-T H.265, a luma CB along with two corresponding chroma CBs and associated syntax elements is called a coding unit (CU). In ITU-TH.265, the minimum allowable size of a CB may be signaled. In ITU-T H.265, the minimum allowed minimum size of a luma CB is 8x8 luma samples. In ITU-T H.265, the decision to encode a picture region using intra prediction or inter prediction is made at the CU level.

在ITU-T H.265中,CU与在CU处具有其根的预测单元(PU)结构相关联。在ITU-TH.265中,PU结构允许分割亮度CB和色度CB以生成对应的参考样本。即,在ITU-T H.265中,可将亮度CB和色度CB分割成相应的亮度预测块和色度预测块(PB),其中PB包括对其应用相同预测的样本值的块。在ITU-T H.265中,可将CB划分为1个、2个或4个PB。ITU-T H.265支持从64×64样本向下至4×4样本的PB大小。在ITU-T H.265中,正方形PB被支持用于帧内预测,其中CB可以形成PB或者CB可以被分割成四个正方形PB。在ITU-T H.265中,除了正方形PB之外,还支持矩形PB来进行帧间预测,其中CB可垂直地或水平地减半以形成PB。此外,应当指出的是,在ITU-T H.265中,对于帧间预测,支持四个非对称PB划分,其中CB在CB的高度(顶部或底部)或宽度(左侧或右侧)的四分之一处被划分为两个PB。对应于PB的帧内预测数据(例如,帧内预测模式语法元素)或帧间预测数据(例如,运动数据语法元素)用于生成PB的参考和/或预测样本值。In ITU-T H.265, a CU is associated with a prediction unit (PU) structure that has its root at the CU. In ITU-TH.265, the PU structure allows for segmentation of luma CB and chroma CB to generate corresponding reference samples. That is, in ITU-T H.265, luma CB and chroma CB may be partitioned into corresponding luma prediction blocks and chroma prediction blocks (PB), where PB includes blocks to which the same predicted sample values are applied. In ITU-T H.265, CBs can be divided into 1, 2 or 4 PBs. ITU-T H.265 supports PB sizes from 64x64 samples down to 4x4 samples. In ITU-T H.265, square PBs are supported for intra prediction, where a CB can form a PB or a CB can be divided into four square PBs. In ITU-T H.265, in addition to square PBs, rectangular PBs are also supported for inter prediction, where CBs can be halved vertically or horizontally to form PBs. Also, it should be noted that in ITU-T H.265, for inter prediction, four asymmetric PB partitions are supported, where the CB is at the height (top or bottom) or width (left or right) of the CB A quarter is divided into two PBs. Intra-prediction data (eg, intra-prediction mode syntax elements) or inter-prediction data (eg, motion data syntax elements) corresponding to the PB are used to generate reference and/or prediction sample values for the PB.

JEM指定具有最大大小的256×256亮度样本的CTU。JEM指定四叉树加二叉树(QTBT)块结构。在JEM中,QTBT结构允许由二叉树(BT)结构进一步划分四叉树叶节点。也就是说,在JEM中,二叉树结构允许将四叉树叶节点垂直或水平递归划分。在JVET-N1001和JVET-O2001中,CTU根据四叉树加多类型树(QTMT或QT+MTT)结构来分区。JVET-N1001和JVET-O2001中的QTMT类似于JEM中的QTBT。然而,在JVET-N1001和JVET-O2001中,除了指示二进制分割之外,多类型树还可以指示所谓的三元(或三叉树(TT))分割。三元分割将一个块垂直地或水平地分成三个块。在垂直TT分割的情况下,块从左边缘起在其宽度的四分之一处以及从右边缘起在其宽度的四分之一处分割,并且在水平TT分割的情况下,块从顶部边缘起在其高度的四分之一处以及从底部边缘起在其高度的四分之一处分割。再次参考图1,图1示出了CTU被划分为四叉树叶节点并且四叉树叶节点根据BT分割或TT分割被进一步划分的示例。即,在图1中,虚线指示四叉树中的附加二元和三元分割。JEM specifies a CTU with a maximum size of 256x256 luma samples. JEM specifies a quadtree plus binary tree (QTBT) block structure. In JEM, the QTBT structure allows for the further division of quad-leaf nodes by a binary tree (BT) structure. That is, in JEM, the binary tree structure allows the recursive division of quad-leaf nodes vertically or horizontally. In JVET-N1001 and JVET-O2001, CTUs are partitioned according to a quadtree plus multi-type tree (QTMT or QT+MTT) structure. QTMT in JVET-N1001 and JVET-O2001 is similar to QTBT in JEM. However, in JVET-N1001 and JVET-O2001, in addition to indicating binary partitioning, multi-type trees can also indicate so-called ternary (or ternary tree (TT)) partitioning. Ternary segmentation divides a block into three blocks vertically or horizontally. In the case of vertical TT division, the block is divided at a quarter of its width from the left edge and at a quarter of its width from the right edge, and in the case of a horizontal TT division, the block is divided from the top edge Split at a quarter of its height and from the bottom edge at a quarter of its height. Referring again to FIG. 1, FIG. 1 shows an example in which the CTU is divided into quad-leaf nodes and the quad-leaf nodes are further divided according to BT splits or TT splits. That is, in Figure 1, the dashed lines indicate additional binary and ternary partitions in the quadtree.

如上所述,每个视频帧或图片可被分成一个或多个区域。例如,根据ITU-T H.265,每个视频帧或图片可被划分为包括一个或多个切片,并且进一步被划分为包括一个或多个图块,其中每个切片包括CTU序列(例如,以光栅扫描顺序排列),并且其中图块是对应于图片的矩形区域的CTU序列。应当指出的是,在ITU-T H.265中,切片是从独立切片片段开始并且包含在下一个独立切片片段(如果有的话)之前的所有后续从属切片片段(如果有的话)的一个或多个切片片段的序列。切片片段(如切片)是CTU序列。因此,在一些情况下,术语“切片”和“切片片段”可互换使用以指示以光栅扫描顺序排列布置的CTU序列。此外,应当指出的是,在ITU-T H.265中,图块可由包含在多于一个切片中的CTU组成,并且切片可由包含在多于一个图块中的CTU组成。然而,ITU-T H.265规定了应满足以下一个或两个条件:(1)片段中的所有CTU属于同一个图块;以及(2)图块中的所有CTU属于同一个切片。As described above, each video frame or picture may be divided into one or more regions. For example, according to ITU-T H.265, each video frame or picture may be divided to include one or more slices, and further divided to include one or more tiles, where each slice includes a sequence of CTUs (eg, in raster scan order), and where a tile is a sequence of CTUs corresponding to rectangular regions of the picture. It should be noted that, in ITU-T H.265, a slice is one or the other of all subsequent dependent slice segments (if any) starting from an independent slice segment and including all subsequent dependent slice segments (if any) preceding the next independent slice segment (if any). A sequence of multiple slice fragments. Slice fragments (eg slices) are CTU sequences. Thus, in some cases, the terms "slice" and "slice segment" are used interchangeably to refer to a sequence of CTUs arranged in a raster scan order. Furthermore, it should be noted that in ITU-T H.265, a tile may be composed of CTUs contained in more than one slice, and a slice may be composed of CTUs contained in more than one tile. However, ITU-T H.265 specifies that one or both of the following conditions should be met: (1) all CTUs in a slice belong to the same tile; and (2) all CTUs in a tile belong to the same slice.

关于JVET-N1001和JVET-O2001,切片需要由整数个砖块组成,而不是仅需要由整数个CTU组成。在JVET-N1001和JVET-O2001中,砖块是图片中特定图块内的矩形CTU行区域。此外,在JVET-N1001和JVET-O2001中,图块可被划分成多个砖块,每个砖块由图块内的一个或多个CTU行组成。未被划分成多个砖块的图块也被称为砖块。然而,作为图块的真子集的砖块不被称为图块。因此,在一些视频编码技术中,可支持或可不支持包括不形成图片的矩形区域的一组CTU的切片。此外,应当指出的是,在一些情况下,切片可能需要由整数个完整图块组成,并且在这种情况下,切片被称为图块组。本文所述的技术可适用于砖块、切片、图块和/或图块组。图1是示出包括切片的图片组的示例的概念图。在图1所示的示例中,Pic3被示出为包括两个切片(即,切片0和切片1)。在图1所示的示例中,切片0包括一个砖块,即砖块0,并且切片1包括两个砖块,即砖块1和砖块2。应当指出的是,在一些情况下,切片0和切片1可满足图块和/或图块组的要求并被分类为图块和/或图块组。Regarding JVET-N1001 and JVET-O2001, a slice needs to consist of an integer number of bricks, not just an integer number of CTUs. In JVET-N1001 and JVET-O2001, a brick is a rectangular CTU row area within a specific tile in a picture. Furthermore, in JVET-N1001 and JVET-O2001, a tile can be divided into multiple bricks, each consisting of one or more CTU rows within the tile. Tiles that are not divided into bricks are also called bricks. However, bricks that are a proper subset of tiles are not called tiles. Accordingly, in some video coding techniques, a slice comprising a set of CTUs that do not form rectangular regions of a picture may or may not be supported. Also, it should be noted that in some cases a slice may need to consist of an integer number of full tiles, and in this case the slice is called a tile group. The techniques described herein may be applied to bricks, slices, tiles, and/or groups of tiles. FIG. 1 is a conceptual diagram illustrating an example of a picture group including slices. In the example shown in Figure 1, Pic 3 is shown to include two slices (ie, slice 0 and slice 1 ). In the example shown in FIG. 1 , slice 0 includes one brick, brick 0 , and slice 1 includes two bricks, brick 1 and brick 2 . It should be noted that, in some cases, slice 0 and slice 1 may satisfy the requirements of a tile and/or tile group and be classified as a tile and/or tile group.

对于帧内预测编码,帧内预测模式可指定图片内的参考样本的位置。在ITU-TH.265中,已定义的可能的帧内预测模式包括平面(即,表面拟合)预测模式、DC(即平坦的整体平均)预测模式,以及33个角度预测模式(predMode:2-34)。在JEM中,已定义的可能的帧内预测模式包括平面预测模式、DC预测模式,以及65个角度预测模式。应当指出的是,平面预测模式和DC预测模式可以被称为无方向预测模式,并且角度预测模式可以被称为方向预测模式。应当指出的是,无论已定义的可能预测模式的数量如何,本文描述的技术可以是普遍适用的。For intra-prediction encoding, an intra-prediction mode may specify the location of reference samples within a picture. In ITU-TH.265, the defined possible intra prediction modes include planar (ie, surface fitting) prediction mode, DC (ie flat ensemble average) prediction mode, and 33 angle prediction modes (predMode: 2 -34). In JEM, the defined possible intra prediction modes include planar prediction mode, DC prediction mode, and 65 angle prediction modes. It should be noted that the planar prediction mode and the DC prediction mode may be referred to as a non-directional prediction mode, and the angular prediction mode may be referred to as a directional prediction mode. It should be noted that regardless of the number of defined possible prediction modes, the techniques described herein may be generally applicable.

对于帧间预测编码,确定参考图片,并且运动矢量(MV)识别该参考图片中用于生成对当前视频块的预测的样本。例如,可使用位于一个或多个先前编码的图片中的参考样本值来预测当前视频块,并且运动矢量用于指示参考块相对于当前视频块的位置。运动矢量可描述例如运动矢量的水平位移分量(即MVx)、运动矢量的垂直位移分量(即MVy)和运动矢量的分辨率(例如,四分之一像素精度、二分之一像素精度、一像素精度、二像素精度、四像素精度)。先前解码的图片(其可包括在当前图片之前或之后输出的图片)可被组织成一个或多个参考图片列表,并且使用参考图片索引值来标识。此外,在帧间预测编码中,单预测是指使用来自单个参考图片的样本值生成预测,双预测是指使用来自两个参考图片的相应样本值生成预测。也就是说,在单预测中,单个参考图片和对应的运动矢量用于生成对当前视频块的预测,而在双预测中,第一参考图片和对应的第一运动矢量以及第二参考图片和对应的第二运动矢量用于生成对当前视频块的预测。在双预测中,将相应的样本值组合(例如,相加、舍入和裁剪,或根据权重进行平均)以生成预测。图片及其区域可基于哪些类型的预测模式可用于对其视频块进行编码而被分类。也就是说,对于具有B类型的区域(例如,B切片),可利用双预测、单预测和帧内预测模式,对于具有P类型的区域(例如,P切片),可利用单预测和帧内预测模式,对于具有I类型的区域(例如,I切片),只能利用帧内预测模式。如上所述,通过参考索引来识别参考图片。例如,对于P切片,可以存在单个参考图片列表RefPicList0,并且对于B切片,除了RefPicList0之外,可以存在第二独立参考图片列表RefPicList1。应当指出的是,对于B切片中的单预测,可使用RefPicList0或RefPicList1中的一者来生成预测。此外,应当指出的是,在解码过程期间,在开始对图片进行解码时,从存储在解码图片缓冲器(DPB)中的先前解码的图片生成参考图片列表。For inter-predictive coding, a reference picture is determined, and a motion vector (MV) identifies the samples in the reference picture used to generate predictions for the current video block. For example, a current video block may be predicted using reference sample values located in one or more previously encoded pictures, and a motion vector used to indicate the position of the reference block relative to the current video block. A motion vector may describe, for example, the horizontal displacement component of the motion vector (ie, MV x ), the vertical displacement component of the motion vector (ie, MV y ), and the resolution of the motion vector (eg, quarter-pixel precision, half-pixel precision , one-pixel precision, two-pixel precision, four-pixel precision). Previously decoded pictures (which may include pictures output before or after the current picture) may be organized into one or more reference picture lists and identified using reference picture index values. Also, in inter predictive coding, uni-prediction refers to generating predictions using sample values from a single reference picture, and bi-prediction refers to generating predictions using corresponding sample values from two reference pictures. That is, in uni-prediction, a single reference picture and corresponding motion vector are used to generate predictions for the current video block, while in bi-prediction, the first reference picture and corresponding first motion vector and the second reference picture and The corresponding second motion vector is used to generate a prediction for the current video block. In bi-prediction, corresponding sample values are combined (eg, added, rounded and clipped, or averaged according to weights) to generate a prediction. Pictures and their regions may be classified based on which types of prediction modes are available for encoding their video blocks. That is, for regions with B type (eg, B slices), bi-prediction, uni-prediction, and intra-prediction modes may be utilized, and for regions with P-type (eg, P slices), uni-prediction and intra-frame prediction may be utilized Prediction mode, for regions with type I (eg, I slice), only intra prediction mode can be utilized. As described above, reference pictures are identified by reference indices. For example, for P slices, there may be a single reference picture list RefPicList0, and for B slices, in addition to RefPicList0, there may be a second independent reference picture list RefPicList1. It should be noted that for uni-prediction in a B slice, one of RefPicListO or RefPicListl may be used to generate the prediction. Furthermore, it should be noted that during the decoding process, when decoding a picture is started, a reference picture list is generated from previously decoded pictures stored in a decoded picture buffer (DPB).

此外,编码标准可支持各种运动矢量预测模式。运动矢量预测使能够基于另一运动矢量来导出用于当前视频块的运动矢量的值。例如,可以从当前视频块的空间相邻块和时间相邻块导出具有相关联的运动信息的一组候选块。此外,所生成的(或默认的)运动信息可用于运动矢量预测。运动矢量预测的示例包括高级运动矢量预测(AMVP)、时间运动矢量预测(TMVP)、所谓的“合并”模式,以及“跳过”和“直接”运动推理。此外,运动矢量预测的其他示例包括高级时间运动矢量预测(ATMVP)和空间-时间运动矢量预测(STMVP)。对于运动矢量预测,视频编码器和视频解码器两者执行相同的过程以导出一组候选。因此,对于当前视频块,在编码和解码期间生成相同的一组候选。In addition, the coding standard may support various motion vector prediction modes. Motion vector prediction enables the value of the motion vector for the current video block to be derived based on another motion vector. For example, a set of candidate blocks with associated motion information may be derived from spatial and temporal neighbors of the current video block. Furthermore, the generated (or default) motion information can be used for motion vector prediction. Examples of motion vector prediction include Advanced Motion Vector Prediction (AMVP), Temporal Motion Vector Prediction (TMVP), so-called "merge" modes, and "skip" and "direct" motion inference. Furthermore, other examples of motion vector prediction include Advanced Temporal Motion Vector Prediction (ATMVP) and Spatial-Temporal Motion Vector Prediction (STMVP). For motion vector prediction, both the video encoder and the video decoder perform the same process to derive a set of candidates. Therefore, for the current video block, the same set of candidates is generated during encoding and decoding.

如上所述,对于帧间预测编码,先前编码的图片中的参考样本用于对当前图片中的视频块进行编码。在对当前图片进行编码时可用作参考的先前编码的图片被称为参考图片。应当指出的是,解码顺序不一定对应于图片输出顺序,即视频序列中图片的时间顺序。在ITU-T H.265中,当图片被解码时,其被存储到解码图片缓冲器(DPB)(其可被称为帧缓冲器、参考缓冲器、参考图片缓冲器等)。在ITU-T H.265中,存储到DPB的图片在被输出时从DPB中移除,并且不再需要用于编码后续图片。在ITU-TH.265中,在对切片标头进行解码之后,即,在对图片进行解码开始时,每个图片调用一次是否应从DPB中移除图片的确定。例如,参考图1,Pic3被示出为参考Pic2。类似地,Pic4被示出为参考Pic1。关于图1,假设图片数量对应于解码顺序,DPB将填充如下:在解码Pic1之后,DPB将包括{Pic1};在解码Pic2开始时,DPB将包括{Pic1};在解码Pic2之后,DPB将包括{Pic1,Pic2};在解码Pic3开始时,DPB将包括{Pic1,Pic2}。然后,将参考Pic2解码Pic3,并且在解码Pic3之后,DPB将包括{Pic1,Pic2,Pic3}。在解码Pic4开始时,图片Pic2和Pic3将被标记以从DPB中移除,因为它们不是解码Pic4(或任何后续图片,未示出)所需的,并且假设Pic2和Pic3已被输出,则DPB将被更新以包括{Pic1}。然后将使用参考Pic1对Pic4进行解码。标记图片以将其从DPB中移除的过程可以称为参考图片集(RPS)管理。As described above, for inter-predictive encoding, reference samples in previously encoded pictures are used to encode video blocks in the current picture. A previously encoded picture that can be used as a reference when encoding the current picture is called a reference picture. It should be noted that the decoding order does not necessarily correspond to the picture output order, ie the temporal order of pictures in the video sequence. In ITU-T H.265, when a picture is decoded, it is stored to a decoded picture buffer (DPB) (which may be referred to as a frame buffer, reference buffer, reference picture buffer, etc.). In ITU-T H.265, pictures stored to the DPB are removed from the DPB when output, and are no longer needed for encoding subsequent pictures. In ITU-TH.265, the determination of whether the picture should be removed from the DPB is called once per picture after decoding the slice header, ie, at the start of decoding the picture. For example, with reference to Figure 1, Pic 3 is shown as reference Pic 2 . Similarly, Pic 4 is shown with reference to Pic 1 . Regarding Figure 1, assuming that the number of pictures corresponds to the decoding order, the DPB will be padded as follows: after decoding Pic 1 , the DPB will include {Pic 1 }; at the beginning of decoding Pic 2 , the DPB will include {Pic 1 }; after decoding Pic 2 After that, the DPB will include {Pic 1 ,Pic 2 }; at the beginning of decoding Pic 3 , the DPB will include {Pic 1 ,Pic 2 }. Then, Pic 3 will be decoded with reference to Pic 2 , and after decoding Pic 3 , the DPB will include {Pic 1 , Pic 2 , Pic 3 }. At the beginning of decoding Pic 4 , pictures Pic 2 and Pic 3 will be marked for removal from the DPB, as they are not required to decode Pic 4 (or any subsequent pictures, not shown), and assuming Pic 2 and Pic 3 has been exported, the DPB will be updated to include {Pic 1 }. Pic 4 will then be decoded using reference Pic 1 . The process of marking pictures for removal from the DPB may be referred to as reference picture set (RPS) management.

如上所述,帧内预测数据或帧间预测数据用于产生样本值的块的参考样本值。包括在当前PB或另一类型的图片区域结构和相关联的参考样本(例如,使用预测生成的那些)中的样本值之间的差可以被称为残差数据。残差数据可以包括对应于视频数据的每个分量的相应差值阵列。残差数据可能在像素域中。可对差值阵列应用变换诸如离散余弦变换(DCT)、离散正弦变换(DST)、整数变换、小波变换或概念上类似的变换,以生成变换系数。应当指出的是,在ITU-T H.265、JVET-N1001和JVET-O2001中,CU与在CU级具有其根的变换单元(TU)结构相关联。即,为了生成变换系数,可以对差值的阵列进行划分(例如,可以将四个8×8变换应用于16×16残差值阵列)。对于视频数据的每个分量,差值的此类再分可被称为变换块(TB)。应当指出的是,在一些情况下,可以(在视频编码器中)应用核心变换和后续二次变换来生成变换系数。对于视频解码器,变换的顺序是相反的。As described above, intra-frame prediction data or inter-frame prediction data is used to generate reference sample values for a block of sample values. Differences between sample values included in the current PB or another type of picture region structure and associated reference samples (eg, those generated using prediction) may be referred to as residual data. The residual data may include a respective array of difference values corresponding to each component of the video data. Residual data may be in the pixel domain. Transforms such as discrete cosine transforms (DCTs), discrete sine transforms (DSTs), integer transforms, wavelet transforms, or conceptually similar transforms may be applied to the difference array to generate transform coefficients. It should be noted that in ITU-T H.265, JVET-N1001 and JVET-O2001, a CU is associated with a Transform Unit (TU) structure having its root at the CU level. That is, to generate transform coefficients, the array of difference values may be divided (eg, four 8x8 transforms may be applied to a 16x16 array of residual values). For each component of video data, such subdivision of the difference may be referred to as a transform block (TB). It should be noted that, in some cases, a core transform and subsequent secondary transforms may be applied (in a video encoder) to generate transform coefficients. For video decoders, the order of transforms is reversed.

可以直接对变换系数或残差样本值执行量化过程(例如,就调色板编码量化而言)。量化通过限制为一组指定值的振幅来近似变换系数。量化实质上对变换系数进行缩放以便改变表示一组变换系数所需的数据量。量化可以包括将变换系数(或将偏移值添加到变换系数得到的值)除以量化缩放因子和任何相关联的取整函数(例如,取整为最接近的整数)。量化的变换系数可以被称为系数位阶值。逆量化(或“去量化”)可以包括将系数位阶值与量化缩放因子相乘,以及任何倒数取整或偏移加法运算。应当指出的是,如本文所用,术语量化过程在一些情况下可指除以缩放因子以生成位阶值,并且在一些情况下可指乘以缩放因子以恢复变换系数。也就是说,量化过程在一些情况下可以指量化,而在一些情况下可以指逆量化。此外,应当指出的是,虽然在下面的示例中的一些示例中关于与十进制记数法相关的算术运算描述了量化过程,但是这样的描述是为了说明的目的,并且不应该被解释为进行限制。例如,本文描述的技术可以在使用二进制运算等的设备中实现。例如,本文描述的乘法和除法运算可以使用移位运算等来实现。The quantization process may be performed directly on the transform coefficients or residual sample values (eg, in the case of palette-coded quantization). Quantization approximates transform coefficients by limiting the amplitude to a specified set of values. Quantization essentially scales transform coefficients in order to change the amount of data required to represent a set of transform coefficients. Quantization may include dividing the transform coefficients (or values resulting from adding an offset value to the transform coefficients) by the quantization scaling factor and any associated rounding function (eg, rounding to the nearest integer). The quantized transform coefficients may be referred to as coefficient scale values. Inverse quantization (or "dequantization") may include multiplying the coefficient scale value by the quantization scaling factor, as well as any reciprocal rounding or offset addition operations. It should be noted that, as used herein, the term quantization process may refer to dividing by a scale factor in some cases to generate a scale value, and in some cases to multiplying by a scale factor to restore transform coefficients. That is, the quantization process may refer to quantization in some cases and inverse quantization in some cases. Furthermore, it should be noted that while in some of the examples below the quantization process is described with respect to arithmetic operations related to decimal notation, such description is for illustrative purposes and should not be construed as limiting . For example, the techniques described herein may be implemented in devices that use binary arithmetic or the like. For example, the multiplication and division operations described herein may be implemented using shift operations and the like.

可根据熵编码技术对量化的变换系数和语法元素(例如,指示视频块的编码结构的语法元素)进行熵编码。熵编码过程包括使用无损数据压缩算法对语法元素值进行编码。熵编码技术的示例包括内容自适应可变长度编码(CAVLC)、上下文自适应二进制算术编码(CABAC)、概率区间划分熵编码(PIPE)等。熵编码的量化变换系数和对应的熵编码的语法元素可形成可用于在视频解码器处再现视频数据的合规比特流。熵编码过程,例如CABAC,可以包括对语法元素进行二值化。二值化是指将语法元素的值转换为一个或多个位的序列的过程。这些位可以被称为“bin”。二值化可以包括以下编码技术中的一种或组合:固定长度编码、一元编码、截断一元编码、截断Rice编码、Golomb编码、k阶指数Golomb编码和Golomb-Rice编码。例如,二值化可以包括使用8位固定长度二值化技术将语法元素的整数值5表示为00000101,或者使用一元编码二值化技术将整数值5表示为11110。如本文所用,术语固定长度编码、一元编码、截断一元编码、截断Rice编码、Golomb编码、k阶指数Golomb编码和Golomb-Rice编码中的每一个可以指这些技术的一般实现和/或这些编码技术的更具体实现。例如,可以根据视频编码标准具体地定义Golomb-Rice编码实现。在CABAC的示例中,对于特定bin,上下文提供bin的最大概率状态(MPS)值(即,bin的MPS为0或1中的一者),以及bin是MPS或最小概率状态(LPS)的概率值。例如,上下文可以指示bin的MPS为0,并且bin为1的概率为0.3。应当指出的是,可以基于包括当前语法元素和/或先前编码的语法元素中的bin的先前编码的bin的值来确定上下文。例如,与相邻视频块相关联的语法元素的值可以用于确定当前bin的上下文。The quantized transform coefficients and syntax elements (eg, syntax elements indicating an encoding structure of a video block) may be entropy encoded according to entropy encoding techniques. The entropy encoding process includes encoding syntax element values using a lossless data compression algorithm. Examples of entropy coding techniques include Content Adaptive Variable Length Coding (CAVLC), Context Adaptive Binary Arithmetic Coding (CABAC), Probability Interval Partitioning Entropy Coding (PIPE), and the like. The entropy-encoded quantized transform coefficients and corresponding entropy-encoded syntax elements may form a compliant bitstream that may be used to reproduce video data at a video decoder. An entropy coding process, such as CABAC, may include binarizing syntax elements. Binarization refers to the process of converting the value of a syntax element into a sequence of one or more bits. These bits may be called "bins". Binarization may include one or a combination of the following encoding techniques: fixed-length encoding, unary encoding, truncated unary encoding, truncated Rice encoding, Golomb encoding, k-order exponential Golomb encoding, and Golomb-Rice encoding. For example, binarization may include representing the integer value 5 of the syntax element as 00000101 using an 8-bit fixed-length binarization technique, or representing the integer value 5 as 11110 using a unary coding binarization technique. As used herein, the terms fixed-length encoding, unary encoding, truncated unary encoding, truncated Rice encoding, Golomb encoding, k-order exponential Golomb encoding, and Golomb-Rice encoding may each refer to general implementations of these techniques and/or to these encoding techniques more specific implementation. For example, Golomb-Rice coding implementations may be specifically defined according to video coding standards. In the example of CABAC, for a particular bin, the context provides the maximum probability state (MPS) value of the bin (that is, the bin's MPS is one of 0 or 1), and the probability that the bin is the MPS or the minimum probability state (LPS) value. For example, the context may indicate that the MPS of a bin is 0, and the probability that a bin is 1 is 0.3. It should be noted that the context may be determined based on the values of previously encoded bins including bins in the current syntax element and/or previously encoded syntax elements. For example, the values of syntax elements associated with neighboring video blocks may be used to determine the context of the current bin.

图2A至图2B是示出对视频数据块进行编码的示例的概念图。如图2A所示,通过从当前视频数据块中减去一组预测值生成残差、对残差执行变换并且将变换系数量化来生成位阶值,对视频数据的当前块(例如,对应于视频分量的CB)进行编码。如图2B中所示,通过对位阶值执行逆量化,执行逆变换,并且将一组预测值加上所得残差来对当前视频数据块进行解码。应当指出的是,在图2A至图2B的示例中,重构块的样本值不同于被编码的当前视频块的样本值。具体地讲,图2B示出了重构误差,它是当前块与重构块之间的差值。这样,编码可被认为是有损的。然而,样本值的差值可被认为是重构视频的观看者可接受的或不可察觉的。2A-2B are conceptual diagrams illustrating an example of encoding a block of video data. As shown in FIG. 2A, scale values are generated for a current block of video data (eg, corresponding to CB) of the video component is encoded. As shown in Figure 2B, the current block of video data is decoded by performing inverse quantization on the scale values, performing an inverse transform, and adding a set of predicted values to the resulting residual. It should be noted that in the example of Figures 2A-2B, the sample values of the reconstructed block are different from the sample values of the current video block being encoded. Specifically, Figure 2B shows the reconstruction error, which is the difference between the current block and the reconstructed block. In this way, the encoding can be considered lossy. However, the difference in sample values may be considered acceptable or imperceptible to a viewer of the reconstructed video.

另外,如图2A至图2B所示,使用缩放因子阵列生成系数位阶值。在ITU-T H.265中,通过选择缩放矩阵并将缩放矩阵中的每个条目乘以量化缩放因子来生成缩放因子阵列。在ITU-T H.265中,部分地基于预测模式和颜色分量来选择缩放矩阵,其中定义了以下大小的缩放矩阵:4×4、8×8、16×16和32×32。应当指出的是,在一些示例中,缩放矩阵可以为每个条目提供相同的值(即,根据单个值缩放所有系数)。在ITU-T H.265中,可以由量化参数QP确定量化缩放因子的值。在ITU-T H.265中,对于8位的位深度,QP可以取0至51的52个值,QP变化1通常对应于量化缩放因子的值变化约12%。此外,在ITU-T H.265中,可以使用预测量化参数值(可以被称为预测QP值或QP预测值)和可选地发送信号通知的量化参数增量值(可以被称为QP增量值或增量QP值)来导出一组变换系数的QP值。在ITU-T H.265中,可以针对每个CU更新量化参数,并且可以针对亮度和色度通道中的每一个导出相应量化参数。Additionally, as shown in Figures 2A-2B, the coefficient scale values are generated using an array of scaling factors. In ITU-T H.265, an array of scaling factors is generated by selecting a scaling matrix and multiplying each entry in the scaling matrix by a quantized scaling factor. In ITU-T H.265, scaling matrices are selected based in part on prediction mode and color components, where scaling matrices of the following sizes are defined: 4x4, 8x8, 16x16, and 32x32. It should be noted that in some examples, the scaling matrix may provide the same value for each entry (ie, scaling all coefficients according to a single value). In ITU-T H.265, the value of the quantization scaling factor may be determined by the quantization parameter QP. In ITU-T H.265, for a bit depth of 8 bits, the QP can take 52 values from 0 to 51, a QP change of 1 typically corresponds to about a 12% change in the value of the quantization scaling factor. Furthermore, in ITU-T H.265, a predicted quantization parameter value (which may be referred to as a predicted QP value or QP prediction value) and optionally a signaled quantization parameter increment value (which may be referred to as a QP increment) may be used. magnitude or delta QP value) to derive QP values for a set of transform coefficients. In ITU-T H.265, quantization parameters may be updated for each CU, and corresponding quantization parameters may be derived for each of the luma and chroma channels.

如上所述,相对于图2A至图2B所示的示例,重构块的样本值可不同于所编码的当前视频块的样本值。另外,应当指出的是,在一些情况下,逐块地对视频数据进行编码可能导致伪像(例如,所谓的块伪像、带伪像等)。例如,块伪像可能导致重建的视频数据的编码块边界可被用户在视觉上感知到。这样,可修改重构的样本值,以使所编码的当前视频块和重构块的样本值之间的差异最小化和/或尽量减少由视频编码过程引入的伪像。此类修改一般可称为滤波。应当指出的是,滤波可作为循环中滤波过程或循环后滤波过程的一部分发生。对于循环中滤波过程,滤波过程的所得样本值可用于预测视频块(例如,存储到参考帧缓冲器以用于在视频编码器处的后续编码以及在视频解码器处的后续解码)。对于循环后滤波过程,滤波过程的所得样本值仅作为解码过程的一部分输出(例如,不用于后续编码)。例如,就视频解码器而言,对于循环中滤波过程,滤波重构块所产生的样本值将用于后续解码(例如,存储到参考缓冲器)并且将被输出(例如,输出到显示器)。对于循环后滤波过程,重构块将用于后续解码,并且滤波重构块所产生的样本值将被输出。As described above, with respect to the examples shown in Figures 2A-2B, the sample values of the reconstructed block may be different from the sample values of the encoded current video block. Additionally, it should be noted that, in some cases, encoding video data block by block may result in artifacts (eg, so-called block artifacts, band artifacts, etc.). For example, blocking artifacts may cause encoded block boundaries of reconstructed video data to be visually perceptible by a user. In this way, the reconstructed sample values may be modified to minimize differences between the encoded sample values of the current video block and the reconstructed block and/or to minimize artifacts introduced by the video encoding process. Such modifications may generally be referred to as filtering. It should be noted that filtering may occur as part of an in-loop filtering process or a post-loop filtering process. For an in-loop filtering process, the resulting sample values of the filtering process may be used to predict the video block (eg, stored to a reference frame buffer for subsequent encoding at the video encoder and subsequent decoding at the video decoder). For a post-loop filtering process, the resulting sample values of the filtering process are output only as part of the decoding process (eg, not used for subsequent encoding). For example, in the case of a video decoder, for an in-loop filtering process, the sample values produced by filtering the reconstructed block will be used for subsequent decoding (eg, stored to a reference buffer) and will be output (eg, to a display). For the post-loop filtering process, the reconstructed block will be used for subsequent decoding, and the sample values resulting from filtering the reconstructed block will be output.

解块(或去块)、解块滤波或应用解块滤波器是指平滑化相邻重构视频块的边界(即,使得观察者不易察觉到边界)的过程。平滑化相邻重构视频块的边界可以包括修改被包括在邻近边界的行或列中的样本值。ITU-T H.265提供了作为循环中滤波过程的一部分将解块滤波器应用于重构样本值的场景。ITU-T H.265包括可以用于修改亮度样本的两种类型的解块滤波器:Strong Filter(强滤波器),其修改与边界相邻的三行或列中的样本值;Weak Filter(弱滤波器),其修改与边界紧密相邻的行或列中的样本值并且有条件地修改从边界开始的第二行或列中的样本值。此外,ITU-T H.265包括一种类型的可用于修改色度样本的滤波器:普通滤波器。Deblocking (or deblocking), deblocking filtering, or applying a deblocking filter refers to the process of smoothing the boundaries of adjacent reconstructed video blocks (ie, making the boundaries less perceptible to an observer). Smoothing the boundaries of adjacent reconstructed video blocks may include modifying sample values included in rows or columns of adjacent boundaries. ITU-T H.265 provides scenarios where a deblocking filter is applied to reconstructed sample values as part of an in-loop filtering process. ITU-T H.265 includes two types of deblocking filters that can be used to modify luma samples: Strong Filter (strong filter), which modifies sample values in three rows or columns adjacent to the boundary; Weak Filter ( Weak filter) that modifies the sample values in the row or column immediately adjacent to the boundary and conditionally modifies the sample values in the second row or column from the boundary. Additionally, ITU-T H.265 includes one type of filter that can be used to modify chroma samples: the normal filter.

除了作为循环中滤波过程的一部分应用解块滤波器之外,ITU-T H.265还提供了可在循环中滤波过程中应用样本自适应偏移(SAO)滤波的场景。在ITU-T H.265中,SAO是通过有条件地添加偏移值来修改区域中的解块样本值的过程。ITU-T H.265提供了可应用于CTB的两种类型的SAO滤波器:带偏移或边缘偏移。对于带偏移和边缘偏移中的每一者,比特流中包括四个偏移值。对于带偏移,所应用的偏移取决于样本值的振幅(例如,振幅被映射到带,这些带被映射到四个已用信号发送的偏移)。对于边缘偏移,所应用的偏移取决于具有水平、垂直、第一对角线或第二对角线边缘分类中的一者的CTB(例如,分类被映射到四个已用信号发送的偏移)。In addition to applying deblocking filters as part of the in-loop filtering process, ITU-T H.265 also provides scenarios where Sample Adaptive Offset (SAO) filtering can be applied in the in-loop filtering process. In ITU-T H.265, SAO is the process of modifying deblocked sample values in a region by conditionally adding offset values. ITU-T H.265 provides two types of SAO filters that can be applied to CTBs: band offset or edge offset. For each of the band offset and edge offset, four offset values are included in the bitstream. For band offsets, the applied offsets depend on the amplitudes of the sample values (eg, the amplitudes are mapped to bands that are mapped to the four signaled offsets). For edge offsets, the offset applied depends on the CTB with one of the horizontal, vertical, first-diagonal, or second-diagonal edge classifications (eg, classifications are mapped to the four signaled offset).

另一种类型的滤波过程包括所谓的自适应环路滤波器(ALF)。在JEM中指定了使用基于块的适应的ALF。在JEM中,在SAO滤波器之后应用ALF。应当指出的是,可以独立于其他滤波技术将ALF应用于重构的样本。在视频编码器处应用在JEM中指定的ALF的过程可总结如下:(1)用于重构图像的亮度分量的每个2×2块根据分类索引进行分类;(2)导出每个分类索引的滤波器系数组;(3)针对亮度分量确定滤波决策;(4)针对色度分量确定滤波决策;以及(5)用信号发送滤波器参数(例如系数和决策)。Another type of filtering process involves so-called adaptive loop filters (ALFs). ALF using block-based adaptation is specified in JEM. In JEM, ALF is applied after the SAO filter. It should be noted that ALF can be applied to reconstructed samples independently of other filtering techniques. The process of applying the ALF specified in JEM at the video encoder can be summarized as follows: (1) each 2x2 block used to reconstruct the luminance component of the image is classified according to the classification index; (2) each classification index is derived (3) determine filtering decisions for luma components; (4) determine filtering decisions for chroma components; and (5) signal filter parameters (eg, coefficients and decisions).

根据JEM中指定的ALF,根据分类索引C对每个2×2块进行分类,其中C为0至24的包括端值在内的范围内的整数。根据以下公式,C基于其方向性D以及活动性

Figure BDA0003427038460000161
的量化值来导出:According to the ALF specified in JEM, each 2x2 block is classified according to the classification index C, where C is an integer in the range 0 to 24 inclusive. According to the following formula, C is based on its directionality D as well as its activity
Figure BDA0003427038460000161
quantized value to derive:

Figure BDA0003427038460000171
Figure BDA0003427038460000171

其中D和

Figure BDA0003427038460000172
水平方向、垂直方向和两个对角线方向的梯度使用1-D拉普拉斯计算,如下所示:where D and
Figure BDA0003427038460000172
The gradients in the horizontal, vertical, and two diagonal directions are calculated using 1-D Laplacian as follows:

Figure BDA0003427038460000173
Figure BDA0003427038460000173

Figure BDA0003427038460000174
Figure BDA0003427038460000174

Figure BDA0003427038460000175
Figure BDA0003427038460000175

Figure BDA0003427038460000176
Figure BDA0003427038460000176

其中,索引i和j是指在2×2块中的左上角样本的坐标,并且R(i,j)指示坐标为(i,j)的重构样本。where the indices i and j refer to the coordinates of the upper left sample in the 2x2 block, and R(i,j) refers to the reconstructed sample with coordinates (i,j).

水平方向和垂直方向的梯度的最大值和最小值可设定为:The maximum and minimum values of the gradients in the horizontal and vertical directions can be set as:

Figure BDA0003427038460000177
Figure BDA0003427038460000177

Figure BDA0003427038460000178
Figure BDA0003427038460000178

并且两个对角线方向的梯度的最大值和最小值可设定为:And the maximum and minimum values of the gradients in the two diagonal directions can be set as:

Figure BDA0003427038460000179
Figure BDA0003427038460000179

Figure BDA00034270384600001710
Figure BDA00034270384600001710

在JEM中,为了导出方向性D的值,将最大值和最小值彼此进行比较并且与两个阈值t1和t2进行比较:In JEM, to derive the value of the directivity D, the maximum and minimum values are compared with each other and with two thresholds t 1 and t 2 :

步骤1.如果gmax h.v≤t1·gmin h.v和gmax d0,d1≤t1·gmin d0,d1两者为真,则将D设定为0。Step 1. Set D to 0 if both g max hv ≤ t 1 ·g min hv and g max d0,d1 ≤t 1 ·g min d0,d1 are true.

步骤2.如果gmax h.v/gmin h.v>gmax d0,d1/gmin d0,d1,则从步骤3继续;否则,从步骤4继续。Step 2. If g max hv /g min hv >g max d0,d1 /g min d0,d1 , continue from step 3; otherwise, continue from step 4.

步骤3.如果gmax h.v>t2·gmin h.v,则将D设定为2;否则,将D设定为1。Step 3. If g max hv >t 2 ·g min hv , set D to 2; otherwise, set D to 1.

步骤4.如果gmax d0,d1>t2·gmin d0,d1,则将D设定为4;否则,将D设定为3。Step 4. If g max d0,d1 >t 2 ·g min d0,d1 , set D to 4; otherwise, set D to 3.

在JEM中,如下计算活动性值A:In JEM, the activity value A is calculated as follows:

Figure BDA0003427038460000181
Figure BDA0003427038460000181

其中,A被进一步量化为0至4的包括端值在内的范围,并且量化值表示为

Figure BDA0003427038460000182
where A is further quantized to a range of 0 to 4 inclusive, and the quantized value is expressed as
Figure BDA0003427038460000182

如上所述,在视频编码器处应用在JEM中指定的ALF包括为每个分类索引导出滤波器系数组并确定滤波决策。应当指出的是,滤波器系数组的导出和滤波决策的确定可以是迭代过程。即,可基于滤波决策来更新滤波器系数组,并且可基于更新的滤波器系数组来更新滤波决策,并且这可重复多次。此外,视频编码器可实现各种专用算法以确定滤波器系数组和/或确定滤波决策。无论怎样为每个分类索引导出滤波器系数组以及如何确定滤波决策,本文所述的技术通常都适用。As described above, applying the ALF specified in JEM at the video encoder involves deriving a set of filter coefficients for each class index and determining filtering decisions. It should be noted that the derivation of the set of filter coefficients and the determination of the filtering decision may be an iterative process. That is, the set of filter coefficients may be updated based on the filtering decisions, and the filtering decisions may be updated based on the updated set of filter coefficients, and this may be repeated multiple times. Additionally, video encoders may implement various specialized algorithms to determine sets of filter coefficients and/or determine filtering decisions. Regardless of how the set of filter coefficients is derived for each classification index and how the filtering decision is determined, the techniques described herein generally apply.

根据一个示例,通过初始为每个分类索引导出一组最佳滤波器系数,来导出滤波器系数组。通过在应用滤波之后将所需的样本值(即,源视频中的样本值)与重构样本值进行比较,并且通过在执行滤波之后将所需的样本值与重构样本值之间的误差平方和(SSE)最小化来导出最佳滤波器系数。然后以将为每个组导出的最佳系数用于对重构样本执行基本滤波,以便分析ALF的效果。即,可将所需的样本值、应用ALF之前的重构样本值,以及执行ALF之后的重构样本值进行比较以确定使用最佳系数应用ALF的效果。According to one example, the set of filter coefficients is derived by initially deriving a set of optimal filter coefficients for each classification index. By comparing the desired sample value (ie, the sample value in the source video) with the reconstructed sample value after applying the filtering, and by comparing the error between the desired sample value and the reconstructed sample value after performing the filtering Sum of squares (SSE) minimization to derive optimal filter coefficients. The best coefficients derived for each group are then used to perform basic filtering on the reconstructed samples in order to analyze the effect of the ALF. That is, the desired sample value, the reconstructed sample value before applying ALF, and the reconstructed sample value after performing ALF can be compared to determine the effect of applying ALF using the best coefficients.

根据JEM中的指定ALF,通过根据以下公式确定所得的样本值R'(i,j)来对每个重构的样本R(i,j)滤波,其中在以下公式中,L表示滤波器长度,并且f(k,l)表示经解码的滤波器系数。Each reconstructed sample R(i,j) is filtered according to the specified ALF in JEM by determining the resulting sample value R'(i,j) according to the following formula, where L represents the filter length , and f(k,l) represents the decoded filter coefficients.

Figure BDA0003427038460000191
Figure BDA0003427038460000191

应当指出的是,JEM定义了三种滤波器形状(5×5菱形、7×7菱形和9×9菱形)。应当指出的是,在JEM中,几何变换应用于滤波器系数f(k,l),具体取决于梯度值:gv、gh、gd1、gd2,如表1中提供。It should be noted that JEM defines three filter shapes (5x5 diamond, 7x7 diamond and 9x9 diamond). It should be noted that in JEM, a geometric transformation is applied to the filter coefficients f(k,l), depending on the gradient values: g v , g h , g d1 , g d2 , as provided in Table 1.

梯度值gradient value 变换transform g<sub>d2</sub>&lt;g<sub>d1</sub>并且g<sub>h</sub>&lt;g<sub>v</sub>g<sub>d2</sub>&lt;g<sub>d1</sub> and g<sub>h</sub>&lt;g<sub>v</sub> 不变换do not transform g<sub>d2</sub>&lt;g<sub>d1</sub>并且g<sub>v</sub>&lt;g<sub>h</sub>g<sub>d2</sub>&lt;g<sub>d1</sub> and g<sub>v</sub>&lt;g<sub>h</sub> 对角线diagonal g<sub>d1</sub>&lt;g<sub>d2</sub>并且g<sub>h</sub>&lt;g<sub>v</sub>g<sub>d1</sub>&lt;g<sub>d2</sub> and g<sub>h</sub>&lt;g<sub>v</sub> 垂直翻转flip vertically g<sub>d1</sub>&lt;g<sub>d2</sub>并且g<sub>v</sub>&lt;g<sub>h</sub>g<sub>d1</sub>&lt;g<sub>d2</sub> and g<sub>v</sub>&lt;g<sub>h</sub> 旋转rotate

表1Table 1

其中对角线、垂直翻转和旋转定义如下:where the diagonal, vertical flip and rotation are defined as follows:

对角线fD(k,l)=f(l,k),Diagonal line f D (k,l)=f(l,k),

垂直翻转:fv(k,l)=f(k,K-l–1)Vertical flip: f v (k,l)=f(k,Kl–1)

旋转:fR(k,l)=f(K-l-1,k)Rotation: f R (k,l)=f(Kl-1,k)

其中K为滤波器的大小,并且0≤k,1≤K-l为系数坐标,使得位置(0,0)位于左上角,并且位置(K-l,K-l)位于右下角。where K is the size of the filter, and 0≤k, 1≤K-l are the coefficient coordinates such that position (0,0) is in the upper left corner and position (K-l, K-l) is in the lower right corner.

JEM提供最多可用信号发送25组亮度滤波器系数(即,每个可能的分类索引一个)的场景。因此,可针对在对应图像区域中出现的每个分类索引来用信号发送最佳系数。然而,为了优化用信号发送滤波器系数组与滤波器效果之间的关系所需的数据量,可执行率失真(RD)优化。例如,JEM提供了可以使用将一组滤波器系数映射到每个分类索引的阵列将相邻分类组的滤波器系数组合并用信号发送的场景。此外,JEM还提供了时间系数预测可用于用信号发送系数的场景。即,JEM提供了通过继承用于参考图片的一组滤波器系数来基于参考图片的滤波器系数组预测当前图片的滤波器系数组的场景。JEM还提供了对于帧内预测图片,可将一组16个固定滤波器用于预测滤波器系数组的场景。如上所述,滤波器系数组的导出和滤波决策的确定可以是迭代过程。即,例如,可以基于用信号发送了多少组滤波器系数来确定ALF的形状,并且类似地,ALF是否被应用于图像的区域可基于用信号发送的滤波器系数组和/或滤波器的形状。应当指出的是,对于ALF滤波器,每个分量使用来自相应分量的一组样本值作为输入并导出输出样本值。即,ALF滤波器独立于另一个分量中的数据应用于每个分量。此外,应当指出的是,JVET-N1001和JVET-O2001指定解块滤波器、SAO滤波器和ALF滤波器,这些滤波器可被描述为通常基于ITU-T H.265和JEM中提供的解块滤波器、SAO滤波器和ALF滤波器。JEM provides scenarios where up to 25 sets of luminance filter coefficients (ie, one for each possible class index) can be signaled. Thus, the best coefficient can be signaled for each class index that occurs in the corresponding image region. However, in order to optimize the amount of data required to signal the relationship between the filter coefficient set and the filter effect, rate-distortion (RD) optimization can be performed. For example, JEM provides scenarios where filter coefficients from adjacent class groups can be combined and signaled using an array that maps a set of filter coefficients to each class index. In addition, JEM also provides scenarios where temporal coefficient prediction can be used to signal coefficients. That is, JEM provides the scenario of predicting the filter coefficient set of the current picture based on the filter coefficient set of the reference picture by inheriting the set of filter coefficients for the reference picture. JEM also provides scenarios where a set of 16 fixed filters can be used to predict a set of filter coefficients for intra-predicted pictures. As mentioned above, the derivation of the set of filter coefficients and the determination of the filtering decisions may be an iterative process. That is, for example, the shape of the ALF may be determined based on how many sets of filter coefficients are signaled, and similarly, whether the ALF is applied to a region of the image may be based on the signaled set of filter coefficients and/or the shape of the filter . It should be noted that for an ALF filter, each component uses a set of sample values from the corresponding component as input and derives output sample values. That is, the ALF filter is applied to each component independently of the data in the other component. Furthermore, it should be noted that JVET-N1001 and JVET-O2001 specify deblocking filters, SAO filters and ALF filters, which can be described as generally based on deblocking provided in ITU-T H.265 and JEM filter, SAO filter and ALF filter.

视频采样格式(也可以被称为色度格式)可以相对于CU中包括的亮度样本的数量来定义CU中包括的色度样本的数量。例如,对于4:2:0采样格式,亮度分量的采样率是水平和垂直两个方向的色度分量的采样率的两倍。因此,对于根据4:2:0格式格式化的CU,用于亮度分量的样本阵列的宽度和高度是用于色度分量的每个样本阵列的宽度和高度的两倍。图3是示出根据4:2:0样本格式格式化的编码单元的示例的概念图。图3示出了色度样本相对于CU内的亮度样本的相对位置。如上所述,通常根据水平和垂直亮度样本的数量来定义CU。因此,如图3所示,根据4:2:0样本格式格式化的16×16CU包括亮度分量的16×16样本和用于每个色度分量的8×8样本。此外,在图3所示的示例中,示出了16×16CU的相邻视频块的色度样本相对于亮度样本的相对位置。对于根据4:2:2格式格式化的CU,亮度分量的样本阵列的宽度是每个色度分量的样本阵列的宽度的两倍,但是亮度分量的样本阵列的高度等于每个色度分量的样本阵列的高度。此外,对于根据4:4:4格式格式化的CU,亮度分量的样本阵列具有与每个色度分量的样本阵列相同的宽度和高度。参考图3,对于亮度样本,紧邻视频块上方的样本线可以被称为参考线0(RL0),并且后续的上述样本线可以分别被称为参考线1(RL1)、参考线2(RL2)和参考线3(RL3)。类似地,可以类似的方式将当前视频块左侧的样本列分类为参考线(即,可以将紧邻视频块左侧的样本线称为参考线0(RL0)。A video sampling format (which may also be referred to as a chroma format) may define the number of chroma samples included in a CU relative to the number of luma samples included in the CU. For example, for the 4:2:0 sampling format, the sampling rate of the luma component is twice the sampling rate of the chroma components in both the horizontal and vertical directions. Thus, for a CU formatted according to the 4:2:0 format, the width and height of the sample array for the luma component is twice the width and height of each sample array for the chroma component. 3 is a conceptual diagram illustrating an example of coding units formatted according to a 4:2:0 sample format. Figure 3 shows the relative positions of chroma samples with respect to luma samples within a CU. As mentioned above, a CU is typically defined in terms of the number of horizontal and vertical luma samples. Thus, as shown in Figure 3, a 16x16 CU formatted according to the 4:2:0 sample format includes 16x16 samples for the luma component and 8x8 samples for each chroma component. Furthermore, in the example shown in Figure 3, the relative positions of chroma samples relative to luma samples of adjacent video blocks of a 16x16 CU are shown. For a CU formatted according to the 4:2:2 format, the width of the sample array for the luma component is twice the width of the sample array for each chroma component, but the height of the sample array for the luma component is equal to the height of the sample array for each chroma component The height of the sample array. Furthermore, for a CU formatted according to the 4:4:4 format, the sample array for the luma component has the same width and height as the sample array for each chroma component. 3, for luma samples, the sample line immediately above the video block may be referred to as reference line 0 (RL 0 ), and the subsequent above-mentioned sample lines may be referred to as reference line 1 (RL 1 ), reference line 2 ( RL 2 ) and reference line 3 (RL 3 ). Similarly, sample columns to the left of the current video block may be classified as reference lines in a similar manner (ie, the sample line immediately to the left of the video block may be referred to as reference line 0 (RL 0 ).

应当指出的是,对于采样格式,例如4:2:0样本格式,可以指定色度位置类型。也就是说,例如对于4:2:0样本格式,可以相对于亮度样本为色度样本指定指示相对空间定位的水平偏移值和垂直偏移值。表2提供了针对JVET-N1001和JVET-O2001中提供的5种色度位置类型的HorizontalOffsetC和VerticalOffsetC的定义。另外,图4A至图4F示出了JVET-N1001和JVET-O2001中为4:2:0样本格式指定的色度位置类型。It should be noted that for sample formats, such as 4:2:0 sample format, the chroma position type can be specified. That is, for a 4:2:0 sample format, for example, a horizontal offset value and a vertical offset value indicating relative spatial positioning may be specified for chroma samples relative to luma samples. Table 2 provides the definitions of HorizontalOffsetC and VerticalOffsetC for the 5 chroma position types provided in JVET-N1001 and JVET-O2001. In addition, FIGS. 4A to 4F show the chroma position types specified for the 4:2:0 sample format in JVET-N1001 and JVET-O2001.

ChromaLocTypeChromaLocType HorizontalOffsetCHorizontalOffsetC VerticalOffsetCVerticalOffsetC 00 00 0.50.5 11 0.50.5 0.50.5 22 00 00 33 0.50.5 00 44 00 11 55 0.50.5 11

表2Table 2

关于本文所用的公式,可以使用以下算术运算符:Regarding the formulas used in this article, the following arithmetic operators can be used:

+加法+addition

-减法- Subtraction

*乘法,包括矩阵乘法* Multiplication, including matrix multiplication

xy求幂。将x指定为y的幂。在其他上下文中,此类符号用于上标而非旨在用于解释为求幂。x y exponentiation. Specify x as a power of y. In other contexts, such notation is used for superscript and is not intended to be interpreted as exponentiation.

/将结果向着零截断的整数除法。例如,将7/4和-7/-4截断为1,将-7/4和7/-4截断为-1。/Integer division that truncates the result towards zero. For example, 7/4 and -7/-4 are truncated to 1, and -7/4 and 7/-4 are truncated to -1.

÷在不旨在进行截断或舍入情况下用于表示数学公式中的除法。÷ is used to represent division in mathematical formulas when truncation or rounding is not intended.

x/y在不旨在进行截断或舍入情况下用于表示数学公式中的除法。x/y is used to represent division in mathematical formulas when it is not intended to truncate or round.

x%y模量。x除以y的余数,仅针对x≥0且y>0的整数x和y定义。x%y modulus. The remainder of dividing x by y, defined only for integers x and y where x ≥ 0 and y > 0.

此外,可以使用以下逻辑运算符:Additionally, the following logical operators can be used:

x&&y x和y的布尔逻辑“和”x&& y Boolean logical "and" of x and y

x||y x和y的布尔逻辑“或”x||y Boolean logical OR of x and y

!布尔逻辑“否”! boolean logic "no"

x?y:z如果x为TRUE或不等于0,则求值为y;否则,求值为z。x? y:z Evaluates to y if x is TRUE or not equal to 0; otherwise, evaluates to z.

此外,可以使用以下关系运算符:Additionally, the following relational operators can be used:

>大于> greater than

≥大于或等于≥ greater than or equal to

<小于< less than

≤小于或等于≤ less than or equal to

==等于== equal to

!=不等于! = not equal to

此外,可以使用以下逐位运算符:Additionally, the following bitwise operators can be used:

&逐位“与”。当对整型变量进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一变量更少位的二进制变量进行运算时,通过添加等于0的更多有效位来扩展较短变量。& bitwise "and". When operating on integer variables, operate on the two's complement representation of the integer value. When operating on a binary variable that contains fewer bits than another variable, the shorter variable is extended by adding more significant bits equal to 0.

|逐位“或”。当对整型变量进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一变量更少位的二进制变量进行运算时,通过添加等于0的更多有效位来扩展较短变量。|Bitwise OR. When operating on integer variables, operate on the two's complement representation of the integer value. When operating on a binary variable that contains fewer bits than another variable, the shorter variable is extended by adding more significant bits equal to 0.

^逐位“异或”。当对整型变量进行运算时,对整数值的二进制补码表示进行运算。当对包含比另一变量更少位的二进制变量进行运算时,通过添加等于0的更多有效位来扩展较短变量。^ Bit-wise XOR. When operating on integer variables, operate on the two's complement representation of the integer value. When operating on a binary variable that contains fewer bits than another variable, the shorter variable is extended by adding more significant bits equal to 0.

x>>y x的二进制补码整数表示算术右移y个二进制位。该函数仅针对y的非负整数值来定义。由于右移而移位到最高有效位(MSB)中的位具有等于移位操作之前的x的MSB的值。x >> y The two's complement integer representation of x is an arithmetic right shift by y bins. The function is only defined for non-negative integer values of y. The bits shifted into the most significant bit (MSB) due to the right shift have a value equal to the MSB of x before the shift operation.

x<<y x的二进制补码整数表示算术左移y个二进制位。该函数仅针对y的非负整数值来定义。由于左移而移位到最低有效位(LSB)中的位具有等于0的值。x<<y The two's complement integer representation of x is an arithmetic left shift by y bits. The function is only defined for non-negative integer values of y. The bits shifted into the least significant bit (LSB) due to the left shift have a value equal to zero.

此外,可以使用以下赋值运算符:Additionally, the following assignment operators can be used:

=赋值运算符= assignment operator

++递增,即,x++等同于x=x+1;当在阵列索引中使用时,在递增操作之前评估变量的值。++ increments, ie, x++ is equivalent to x=x+1; when used in array indexing, the value of the variable is evaluated before the increment operation.

--递减,即,x--等同于x=x-1;当在阵列索引中使用时,在递减操作之前评估变量的值。--decrement, ie, x-- is equivalent to x=x-1; when used in array indexing, the value of the variable is evaluated before the decrement operation.

+=按指定量递增,即x+=3等同于x=x+3,并且x+=(-3)等同于x=x+(-3)。+= increments by the specified amount, ie x+=3 is equivalent to x=x+3, and x+=(-3) is equivalent to x=x+(-3).

-=按指定量递减,即x-=3等同于x=x-3,并且x-=(-3)等同于x=x-(-3)。-= decrements by the specified amount, ie x-=3 is equivalent to x=x-3, and x-=(-3) is equivalent to x=x-(-3).

此外,可使用以下定义的数学函数:In addition, the mathematical functions defined below can be used:

Figure BDA0003427038460000231
Figure BDA0003427038460000231

Floor(x),小于或等于x的最大整数。Floor(x), the largest integer less than or equal to x.

Log2(x),x的以2为底的对数。Log2(x), the base-2 logarithm of x.

Figure BDA0003427038460000232
Figure BDA0003427038460000232

Figure BDA0003427038460000233
Figure BDA0003427038460000233

Figure BDA0003427038460000234
Figure BDA0003427038460000234

图5是示出根据本公开的一种或多种技术的可以被配置为对视频数据进行编码(例如,编码和/或解码)的系统的示例的框图。系统100表示可以根据本公开的一种或多种技术使用所述划分技术执行视频编码的系统的示例。如图5所示,系统100包括源设备102、通信介质110和目标设备120。在图5所示的示例中,源设备102可以包括被配置为对视频数据进行编码并将编码的视频数据传输到通信介质110的任何设备。目标设备120可以包括被配置为经由通信介质110接收编码视频数据并且对编码视频数据进行解码的任何设备。源设备102和/或目标设备120可以包括配备用于进行有线和/或无线通信的计算设备,并且可以包括机顶盒、数字视频录像机、电视机、台式电脑、膝上型电脑或平板电脑、游戏控制台、移动设备包括例如“智能”电话、蜂窝电话、个人游戏设备和医学成像设备。5 is a block diagram illustrating an example of a system that may be configured to encode (eg, encode and/or decode) video data in accordance with one or more techniques of this disclosure. System 100 represents an example of a system that may perform video encoding using the partitioning techniques described in accordance with one or more techniques of this disclosure. As shown in FIG. 5 , the system 100 includes a source device 102 , a communication medium 110 and a target device 120 . In the example shown in FIG. 5 , source device 102 may include any device configured to encode video data and transmit the encoded video data to communication medium 110 . Target device 120 may include any device configured to receive and decode encoded video data via communication medium 110 . Source device 102 and/or target device 120 may include computing devices equipped for wired and/or wireless communications, and may include set-top boxes, digital video recorders, televisions, desktops, laptops or tablets, game controls Stations, mobile devices include, for example, "smart" phones, cellular phones, personal gaming devices, and medical imaging devices.

通信介质110可以包括无线和有线通信介质和/或存储设备的任意组合。通信介质110可以包括同轴电缆、光纤电缆、双绞线电缆、无线发射器和接收器、路由器、交换机、中继器、基站或可用于促进各种设备和站点之间的通信的任何其他设备。通信介质110可以包括一个或多个网络。例如,通信介质110可以包括被配置为允许访问万维网例如互联网的网络。网络可以根据一个或多个电信协议的组合操作。电信协议可以包括专有方面并且/或者可以包括标准化电信协议。标准化电信协议的示例包括数字视频广播(DVB)标准、高级电视系统委员会(ATSC)标准、综合服务数字广播(ISDB)标准、有线数据业务接口规范(DOCSIS)标准、全球移动通信系统(GSM)标准、码分多址(CDMA)标准、第3代合作伙伴计划(3GPP)标准、欧洲电信标准协会(ETSI)标准、互联网协议(IP)标准、无线应用协议(WAP)标准以及电气与电子工程师协会(IEEE)标准。Communication media 110 may include any combination of wireless and wired communication media and/or storage devices. Communication medium 110 may include coaxial cables, fiber optic cables, twisted pair cables, wireless transmitters and receivers, routers, switches, repeaters, base stations, or any other device that may be used to facilitate communication between various devices and sites . Communication medium 110 may include one or more networks. For example, communication medium 110 may include a network configured to allow access to the World Wide Web, such as the Internet. The network may operate according to a combination of one or more telecommunications protocols. Telecommunications protocols may include proprietary aspects and/or may include standardized telecommunications protocols. Examples of standardized telecommunications protocols include the Digital Video Broadcasting (DVB) standard, the Advanced Television Systems Committee (ATSC) standard, the Integrated Services Digital Broadcasting (ISDB) standard, the Data over Cable Services Interface Specification (DOCSIS) standard, the Global System for Mobile Communications (GSM) standard , Code Division Multiple Access (CDMA) standards, 3rd Generation Partnership Project (3GPP) standards, European Telecommunications Standards Institute (ETSI) standards, Internet Protocol (IP) standards, Wireless Application Protocol (WAP) standards, and the Institute of Electrical and Electronics Engineers (IEEE) standard.

存储设备可以包括能够存储数据的任何类型的设备或存储介质。存储介质可以包括有形或非暂态计算机可读介质。计算机可读介质可以包括光盘、闪存存储器、磁存储器或任何其他合适的数字存储介质。在一些示例中,存储器设备或其部分可以被描述为非易失性存储器,并且在其他示例中,存储器设备的部分可以被描述为易失性存储器。易失性存储器的示例可以包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)和静态随机存取存储器(SRAM)。非易失性存储器的示例可以包括磁性硬盘、光盘、软盘、闪存或电可编程存储器(EPROM)或电可擦除和可编程(EEPROM)存储器的形式。存储设备可以包括存储卡(例如,安全数字(SD)存储卡)、内部/外部硬盘驱动器和/或内部/外部固态驱动器。数据可以根据定义的文件格式存储在存储设备上。A storage device may include any type of device or storage medium capable of storing data. Storage media may include tangible or non-transitory computer readable media. Computer-readable media may include optical disks, flash memory, magnetic memory, or any other suitable digital storage medium. In some examples, a memory device, or portions thereof, may be described as non-volatile memory, and in other examples, portions of a memory device may be described as volatile memory. Examples of volatile memory may include random access memory (RAM), dynamic random access memory (DRAM), and static random access memory (SRAM). Examples of non-volatile memory may include magnetic hard disks, optical disks, floppy disks, flash memory, or the form of electrically programmable memory (EPROM) or electrically erasable and programmable (EEPROM) memory. Storage devices may include memory cards (eg, secure digital (SD) memory cards), internal/external hard drives, and/or internal/external solid state drives. Data can be stored on storage devices according to a defined file format.

再次参考图5,源设备102包括视频源104、视频编码器106和接口108。视频源104可以包括被配置为捕获和/或存储视频数据的任何设备。例如,视频源104可以包括摄像机和可操作地与其耦接的存储设备。视频编码器106可以包括被配置为接收视频数据并生成表示视频数据的兼容比特流的任何设备。兼容比特流可以指视频解码器可以从其接收和再现视频数据的比特流。合规比特流的各方面可根据视频编码标准来定义。当生成兼容比特流时,视频编码器106可以压缩视频数据。压缩可能是有损的(可觉察的或不可觉察的)或无损的。接口108可以包括被配置为接收兼容视频比特流并且将该兼容视频比特流传输和/或存储到通信介质的任何设备。接口108可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可以发送和/或接收信息的任何其他类型的设备。此外,接口108可以包括计算机系统接口,该计算机系统接口可以允许兼容视频比特流存储在存储设备上。例如,接口108可以包括支持外围组件互连(PCI)和外围组件快速互连(PCIe)总线协议、专用总线协议、通用串行总线(USB)协议、I2C的芯片组或可用于互连对等设备的任何其他逻辑和物理结构。Referring again to FIG. 5 , source device 102 includes video source 104 , video encoder 106 and interface 108 . Video source 104 may include any device configured to capture and/or store video data. For example, video source 104 may include a video camera and a storage device operably coupled thereto. Video encoder 106 may include any device configured to receive video data and generate a compatible bitstream representing the video data. A compatible bitstream may refer to a bitstream from which a video decoder can receive and reproduce video data. Aspects of a compliant bitstream may be defined according to a video coding standard. When generating a compatible bitstream, video encoder 106 may compress the video data. Compression may be lossy (perceptible or imperceptible) or lossless. Interface 108 may include any device configured to receive a compatible video bitstream and transmit and/or store the compatible video bitstream to a communication medium. The interface 108 may include a network interface card such as an Ethernet card, and may include an optical transceiver, a radio frequency transceiver, or any other type of device that can transmit and/or receive information. Additionally, interface 108 may include a computer system interface that may allow compatible video bitstreams to be stored on a storage device. For example, the interface 108 may include a chipset supporting the Peripheral Component Interconnect (PCI) and Peripheral Component Interconnect Express (PCIe) bus protocols, a proprietary bus protocol, a Universal Serial Bus (USB ) protocol, I2C, or a chipset available for interconnection Any other logical and physical structure of the peer device.

再次参考图5,目标设备120包括接口122、视频解码器124和显示器126。接口122可以包括被配置为从通信介质接收兼容视频比特流的任何设备。接口108可以包括网络接口卡诸如以太网卡,并且可以包括光收发器、射频收发器或者可以接收和/或发送信息的任何其他类型的设备。此外,接口122可以包括允许从存储设备检索兼容视频比特流的计算机系统接口。例如,接口122可包括支持PCI和PCIe总线协议、专用总线协议、USB协议、I2C的芯片组,或者可用于互连对等设备的任何其他逻辑和物理结构。视频解码器124可以包括被配置为接收兼容比特流和/或其可接受变体,并且从其再现视频数据的任何设备。显示器126可以包括被配置为显示视频数据的任何设备。显示器126可以包括各种显示设备诸如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另外的类型的显示器中的一种。显示器126可以包括高清显示器或超高清显示器。应当指出的是,虽然在图5所示的示例中,视频解码器124被描述为将数据输出到显示器126,但视频解码器124可被配置为将视频数据输出到各种类型的设备和/或其子部件。例如,视频解码器124可被配置为将视频数据输出到任何通信介质,如本文所述。Referring again to FIG. 5 , target device 120 includes interface 122 , video decoder 124 and display 126 . Interface 122 may include any device configured to receive a compatible video bitstream from a communication medium. The interface 108 may include a network interface card such as an Ethernet card, and may include an optical transceiver, a radio frequency transceiver, or any other type of device that can receive and/or transmit information. Additionally, interface 122 may include a computer system interface that allows retrieval of compatible video bitstreams from storage devices. For example, interface 122 may include a chipset supporting PCI and PCIe bus protocols, proprietary bus protocols, USB protocols, I2C , or any other logical and physical structure that may be used to interconnect peer devices. Video decoder 124 may include any device configured to receive a compatible bitstream and/or acceptable variants thereof, and reproduce video data therefrom. Display 126 may include any device configured to display video data. Display 126 may include one of various display devices such as a liquid crystal display (LCD), plasma display, organic light emitting diode (OLED) display, or another type of display. Display 126 may include a high definition display or an ultra high definition display. It should be noted that although in the example shown in FIG. 5, video decoder 124 is described as outputting data to display 126, video decoder 124 may be configured to output video data to various types of devices and/or or its subcomponents. For example, video decoder 124 may be configured to output video data to any communication medium, as described herein.

图6是示出可实现本文所述的用于对视频数据进行编码的技术的视频编码器200的示例的框图。应当指出的是,尽管示例性视频编码器200被示出为具有不同的功能块,但此类图示旨在用于描述目的,并且不将视频编码器200和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频编码器200的功能。在一个示例中,视频编码器200可被配置为根据本文描述的技术对视频数据进行编码。视频编码器200可执行图片区域的帧内预测编码和帧间预测编码,并且因此可被称为混合视频编码器。在图6所示的示例中,视频编码器200接收源视频块。在一些示例中,源视频块可以包括已经根据编码结构划分的图片区域。例如,源视频数据可以包括宏块、CTU、CB、其子分区和/或另外的等效编码单元。在一些示例中,视频编码器200可被配置为执行源视频块的附加细分。应当指出的是,无论在编码之前和/或期间如何划分源视频数据,本文所述的一些技术都可普遍适用于视频编码。在图6所示的示例中,视频编码器200包括求和器202、变换系数生成器204、系数量化单元206、逆量化/变换处理单元208、求和器210、帧内预测处理单元212、帧间预测处理单元214、滤波器单元216和熵编码单元218。6 is a block diagram illustrating an example of a video encoder 200 that may implement the techniques described herein for encoding video data. It should be noted that although the example video encoder 200 is shown as having different functional blocks, such illustration is intended for descriptive purposes and does not limit the video encoder 200 and/or its sub-components to a particular hardware or software architecture. The functions of video encoder 200 may be implemented using any combination of hardware, firmware and/or software implementations. In one example, video encoder 200 may be configured to encode video data according to the techniques described herein. Video encoder 200 may perform intra- and inter-predictive encoding of picture regions, and thus may be referred to as a hybrid video encoder. In the example shown in Figure 6, video encoder 200 receives source video blocks. In some examples, source video blocks may include picture regions that have been partitioned according to coding structures. For example, source video data may include macroblocks, CTUs, CBs, sub-partitions thereof, and/or other equivalent coding units. In some examples, video encoder 200 may be configured to perform additional subdivisions of source video blocks. It should be noted that some of the techniques described herein are generally applicable to video encoding regardless of how the source video data is partitioned before and/or during encoding. In the example shown in FIG. 6, the video encoder 200 includes a summer 202, a transform coefficient generator 204, a coefficient quantization unit 206, an inverse quantization/transform processing unit 208, a summer 210, an intra prediction processing unit 212, Inter prediction processing unit 214 , filter unit 216 , and entropy encoding unit 218 .

如图6所示,视频编码器200接收源视频块并输出比特流。视频编码器200可通过从源视频块中减去预测视频块来生成残差数据。求和器202表示被配置为执行该减法运算的部件。在一个示例中,视频块的减法发生在像素域中。变换系数生成器204将变换,诸如离散余弦变换(Discrete Cosine Transform,DCT)、离散正弦变换(Discrete Sine Transform,DST)或概念上类似的变换,应用到其残差块或子分区(例如,可以将四个8×8变换应用于16×16残差值阵列)以生成一组残差变换系数。变换系数生成器204可被配置为执行离散三角变换系列中包括的变换的任意和全部组合。如上所述,在ITU-T H.265中,TB被限制为以下大小4×4、8×8、16×16和32×32。在一个示例中,变换系数生成器204可被配置为根据大小为4×4、8×8、16×16和32×32的阵列执行变换。在一个示例中,变换系数生成器204可进一步被配置为根据其他尺寸的阵列执行变换。具体地,在一些情况下,对不同值组成的矩形阵列执行变换可能是有用的。在一个示例中,变换系数生成器204可被配置为根据以下阵列大小来执行变换:2×2、2×4N、4M×2和/或4M×4N。在一个示例中,二维(2D)M×N逆变换可实现为一维(1D)M点逆变换后再进行1D N点逆变换。在一个示例中,2D逆变换可实现为1D N点垂直变换后再进行1D N点水平变换。在一个示例中,2D逆变换可实现为1D N点水平变换后再进行1D N点垂直变换。变换系数生成器204可将变换系数输出到系数量化单元206。As shown in FIG. 6, video encoder 200 receives source video blocks and outputs a bitstream. Video encoder 200 may generate residual data by subtracting the prediction video block from the source video block. Summer 202 represents a component configured to perform this subtraction operation. In one example, the subtraction of video blocks occurs in the pixel domain. Transform coefficient generator 204 applies a transform, such as a Discrete Cosine Transform (DCT), Discrete Sine Transform (DST), or conceptually similar transform, to its residual block or sub-partition (eg, may Four 8x8 transforms are applied to the 16x16 residual value array) to generate a set of residual transform coefficients. Transform coefficient generator 204 may be configured to perform any and all combinations of transforms included in the series of discrete triangular transforms. As mentioned above, in ITU-T H.265, TB is restricted to the following sizes 4×4, 8×8, 16×16 and 32×32. In one example, transform coefficient generator 204 may be configured to perform transforms from arrays of size 4x4, 8x8, 16x16, and 32x32. In one example, transform coefficient generator 204 may be further configured to perform transforms from arrays of other sizes. Specifically, in some cases it may be useful to perform transformations on rectangular arrays of different values. In one example, transform coefficient generator 204 may be configured to perform transforms according to the following array sizes: 2x2, 2x4N, 4Mx2, and/or 4Mx4N. In one example, a two-dimensional (2D) M×N inverse transform can be implemented as a one-dimensional (1D) M-point inverse transform followed by a 1D N-point inverse transform. In one example, the 2D inverse transformation can be implemented as a 1D N-point vertical transformation followed by a 1D N-point horizontal transformation. In one example, the 2D inverse transformation can be implemented as a 1D N-point horizontal transformation followed by a 1D N-point vertical transformation. Transform coefficient generator 204 may output the transform coefficients to coefficient quantization unit 206 .

系数量化单元206可被配置为执行变换系数的量化。如上所述,可以通过调整量化参数来修改量化程度。系数量化单元206可以进一步被配置为确定量化参数并且输出QP数据(例如,用于确定量化组大小和/或增量QP值的数据),视频解码器可以使用该QP数据来重构量化参数以在视频解码期间执行逆量化。应当指出的是,在其他示例中,可以使用一个或多个附加或另选的参数来确定量化位阶(例如,缩放因子)。本文所述的技术通常可应用于基于对应于视频数据的某一分量的变换系数的量化位阶,确定对应于视频数据的另一分量的变换系数的量化位阶。Coefficient quantization unit 206 may be configured to perform quantization of transform coefficients. As mentioned above, the degree of quantization can be modified by adjusting the quantization parameter. Coefficient quantization unit 206 may be further configured to determine quantization parameters and output QP data (eg, data used to determine quantization group sizes and/or delta QP values), which may be used by the video decoder to reconstruct the quantization parameters to Inverse quantization is performed during video decoding. It should be noted that in other examples, one or more additional or alternative parameters may be used to determine the quantization scale (eg, scaling factor). The techniques described herein are generally applicable to determining the quantization scale of transform coefficients corresponding to a component of video data based on the quantization scale of transform coefficients corresponding to another component of video data.

再次参见图6,量化的变换系数被输出到逆量化/变换处理单元208。逆量化/变换处理单元208可被配置为应用逆量化和逆变换来生成重构残差数据。如图6所示,在求和器210处,重构残差数据可以被添加到预测视频块。这样,可以重构编码的视频块,并且可以使用所得重构视频块来评估给定的预测、变换和/或量化的编码质量。视频编码器200可被配置为执行多个编码回合(例如,在改变预测、变换参数和量化参数中的一者或多者的同时执行编码)。比特流的率失真或其他系统参数可以基于重构视频块的评估来优化。此外,重构视频块可被存储并用作预测后续块的参考。Referring again to FIG. 6 , the quantized transform coefficients are output to the inverse quantization/transform processing unit 208 . Inverse quantization/transform processing unit 208 may be configured to apply inverse quantization and inverse transform to generate reconstructed residual data. As shown in FIG. 6, at summer 210, reconstructed residual data may be added to the predicted video block. In this way, an encoded video block can be reconstructed, and the resulting reconstructed video block can be used to evaluate the encoding quality for a given prediction, transform, and/or quantization. Video encoder 200 may be configured to perform multiple encoding passes (eg, while changing one or more of prediction, transform parameters, and quantization parameters). The rate-distortion or other system parameters of the bitstream can be optimized based on the evaluation of the reconstructed video blocks. Additionally, reconstructed video blocks may be stored and used as references for predicting subsequent blocks.

如上所述,可以使用帧内预测来编码视频块。帧内预测处理单元212可被配置为针对待编码视频块选择帧内预测模式。帧内预测处理单元212可被配置为评估帧和/或其区域并且确定用以对当前块进行编码的帧内预测模式。如图6所示,帧内预测处理单元212将帧内预测数据(例如,语法元素)输出到熵编码单元218和变换系数生成器204。如上所述,对残差数据执行的变换可以取决于模式。如上所述,可能的帧内预测模式可以包括平面预测模式、DC预测模式和角度预测模式。此外,在一些示例中,可以从用于亮度预测模式的帧内预测推断出对色度分量的预测。帧间预测处理单元214可被配置为针对当前视频块执行帧间预测编码。帧间预测处理单元214可被配置为接收源视频块并且计算视频块的PU的运动矢量。运动矢量可以指示当前视频帧内的视频块的PU(或类似的编码结构)相对于参考帧内的预测块的位移。帧间预测编码可以使用一个或多个参考图片。此外,运动预测可以是单向预测(使用一个运动矢量)或双向预测(使用两个运动矢量)。帧间预测处理单元214可被配置为通过计算由例如绝对差之和(SAD)、平方差之和(SSD)或其他差值度量确定的像素差来选择预测块。如上所述,可以根据运动矢量预测来确定和指定运动矢量。如上所述,帧间预测处理单元214可被配置为执行运动矢量预测。帧间预测处理单元214可被配置为使用运动预测数据生成预测块。例如,帧间预测处理单元214可定位帧缓冲器内的预测视频块(图6中未示出)。应当指出的是,帧间预测处理单元214可以进一步被配置为将一个或多个内插滤波器应用于重构残差块,以计算用于运动估计的子整数像素值。帧间预测处理单元214可将所计算的运动矢量的运动预测数据输出到熵编码单元218。如图6所示,帧间预测处理单元214可经由滤波器单元216接收重构的视频块。熵编码单元218接收量化的变换系数和预测语法数据(即帧内预测数据、运动预测数据和QP数据等)。应当指出的是,在一些示例中,系数量化单元206可以在将系数输出到熵编码单元218之前执行对包括量化变换系数的矩阵的扫描。在其他示例中,熵编码单元218可执行扫描。熵编码单元218可以被配置为根据本文所述的技术中的一种或多种技术执行熵编码。熵编码单元218可被配置为输出兼容比特流(即视频解码器可从其接收和再现视频数据的比特流)。As described above, video blocks may be encoded using intra prediction. Intra-prediction processing unit 212 may be configured to select an intra-prediction mode for a video block to be encoded. Intra-prediction processing unit 212 may be configured to evaluate the frame and/or regions thereof and determine an intra-prediction mode to use to encode the current block. As shown in FIG. 6 , intra-prediction processing unit 212 outputs intra-prediction data (eg, syntax elements) to entropy encoding unit 218 and transform coefficient generator 204 . As mentioned above, the transformation performed on the residual data may depend on the mode. As described above, possible intra prediction modes may include planar prediction mode, DC prediction mode and angular prediction mode. Furthermore, in some examples, prediction for chroma components may be inferred from intra prediction for luma prediction mode. Inter-prediction processing unit 214 may be configured to perform inter-prediction encoding for the current video block. Inter-prediction processing unit 214 may be configured to receive a source video block and calculate motion vectors for PUs of the video block. The motion vector may indicate the displacement of the PU (or similar coding structure) of the video block within the current video frame relative to the prediction block within the reference frame. Inter-predictive coding may use one or more reference pictures. Furthermore, motion prediction can be unidirectional prediction (using one motion vector) or bidirectional prediction (using two motion vectors). Inter-prediction processing unit 214 may be configured to select a prediction block by calculating pixel differences determined by, for example, Sum of Absolute Differences (SAD), Sum of Squared Differences (SSD), or other difference metrics. As described above, motion vectors can be determined and specified from motion vector prediction. As described above, inter-prediction processing unit 214 may be configured to perform motion vector prediction. Inter prediction processing unit 214 may be configured to generate prediction blocks using motion prediction data. For example, inter-prediction processing unit 214 may locate a predicted video block (not shown in FIG. 6 ) within a frame buffer. It should be noted that inter-prediction processing unit 214 may be further configured to apply one or more interpolation filters to the reconstructed residual block to calculate sub-integer pixel values for motion estimation. Inter-prediction processing unit 214 may output motion prediction data for the calculated motion vector to entropy encoding unit 218 . As shown in FIG. 6 , inter-prediction processing unit 214 may receive reconstructed video blocks via filter unit 216 . Entropy encoding unit 218 receives the quantized transform coefficients and prediction syntax data (ie, intra prediction data, motion prediction data, QP data, etc.). It should be noted that, in some examples, coefficient quantization unit 206 may perform a scan of a matrix including quantized transform coefficients before outputting the coefficients to entropy encoding unit 218 . In other examples, entropy encoding unit 218 may perform scanning. Entropy encoding unit 218 may be configured to perform entropy encoding according to one or more of the techniques described herein. Entropy encoding unit 218 may be configured to output a compatible bitstream (ie, a bitstream from which a video decoder may receive and reproduce video data).

再次参考图6,滤波器单元216可被配置为执行如上所述的解块滤波、样本自适应偏移(SAO)滤波和/或ALF滤波。此外,滤波器单元216可被配置为执行本文所述的用于根据交叉分量相关性来减小重构误差的一种或多种技术。如上所述,对于JEM中的ALF滤波器,每个分量使用来自相应分量的一组样本值作为输入,并且以独立于其他分量的方式导出输出样本值。按分量来独立第进行滤波可能不太理想,因为视频数据的分量和/或通道之间可能存在可用于使重构误差最小化的相关性。例如,参考图8,图8示出了8×8亮度源块和对应的4×4色度源块(即,根据4:2:0采样格式)以及对应的重构块和重构误差的示例。如图8所示,这两个源块包括围绕对角线的边缘,这在纹理、形状边缘等的情况下将是典型的。然而,对于重构色度分量,与亮度分量相比,保真性丢失(例如,由于高水平的量化等),并且边缘不会恢复。Referring again to FIG. 6, filter unit 216 may be configured to perform deblocking filtering, sample adaptive offset (SAO) filtering, and/or ALF filtering as described above. Additionally, filter unit 216 may be configured to perform one or more of the techniques described herein for reducing reconstruction error based on cross-component correlation. As mentioned above, for the ALF filter in JEM, each component uses a set of sample values from the corresponding component as input, and the output sample values are derived in a manner independent of the other components. Filtering by components independently may not be ideal because there may be correlations between components and/or channels of video data that can be used to minimize reconstruction errors. For example, referring to Figure 8, which shows an 8x8 luma source block and a corresponding 4x4 chroma source block (ie, according to the 4:2:0 sampling format) and the corresponding reconstructed block and reconstruction error Example. As shown in Figure 8, these two source blocks include edges around the diagonal, which would be typical in the case of textures, shape edges, etc. However, for reconstructed chroma components, fidelity is lost (eg, due to a high level of quantization, etc.), and edges are not recovered compared to the luma component.

根据本文的技术,滤波器单元可被配置为从第二颜色通道和/或分量中的信息预测和/或细化第一颜色通道和/或分量中的信息,这可提供第一颜色通道和/或分量的改善的编码效率,因为颜色通道和/或分量的保真性以少量位增加。图7示出了根据本公开的一种或多种技术的可被配置为对视频数据进行编码的交叉分量滤波器单元的示例。如图7所示,交叉分量滤波器单元300包括滤波器确定单元302和样本修改单元304。应当指出的是,交叉分量滤波器单元300示出了可存在于视频编码器中的交叉分量滤波器单元的示例。下文更详细地描述可存在于视频解码器中的对应交叉分量滤波器单元的示例。如图7所示,滤波器确定单元302和样本修改单元304可接收在当前块被编码/解码时可用的编码参数信息(例如,帧内预测模式),并且如图7所示,在视频编码器处的视频块数据可包括:交叉分量源块;交叉分量重构块;交叉分量重构误差;当前分量源块;当前分量重构块;和当前分量重构误差。也就是说,参考图8所示的示例,当要对色度重构块进行滤波时,图8中的所有信息可在交叉分量滤波器单元300处可用。因此,滤波器确定单元302可基于视频数据导出要在色度重构块上使用的滤波器,并且样本修改单元304可根据所导出的滤波器来执行滤波。如图7所示,样本修改单元304可将经修改的重构块输出到参考图片缓冲器(即,作为环路滤波器),并且将经修改的重构块输出到输出端(例如,显示器)。此外,如图7所示,滤波器确定单元302可输出滤波器数据。即,指定所导出的滤波器的滤波器数据可被发信号通知视频解码器。这种信令的示例在下文中进一步详细描述。应当注意,相对于图8,可以存在若干种减少视频编码器处的重构误差的方式,例如,减少量化和/或执行改进的预测技术。此外,在一些情况下,视频编码器可以直接发信号通知重构误差。然而,根据本文技术的交叉分量滤波提供了在减小重构误差的同时发信号通知相对少量的信息的方式。也就是说,例如,本文所述的交叉分量滤波技术可以提供一种方式来减小视频解码器处的重构误差,同时比用于减小重构误差的其他技术更有效。例如,与发信号通知分量的更高保真残差信息相比,发信号通知滤波器数据可能花费更少的位。In accordance with the techniques herein, a filter unit may be configured to predict and/or refine information in the first color channel and/or component from information in the second color channel and/or component, which may provide the first color channel and/or the Improved coding efficiency of/or components because the fidelity of color channels and/or components is increased with a small number of bits. 7 illustrates an example of a cross-component filter unit that may be configured to encode video data in accordance with one or more techniques of this disclosure. As shown in FIG. 7 , the cross component filter unit 300 includes a filter determination unit 302 and a sample modification unit 304 . It should be noted that cross component filter unit 300 shows an example of a cross component filter unit that may be present in a video encoder. Examples of corresponding cross-component filter units that may be present in a video decoder are described in more detail below. As shown in FIG. 7, filter determination unit 302 and sample modification unit 304 may receive encoding parameter information (eg, intra prediction mode) available when the current block is encoded/decoded, and as shown in FIG. 7, in video encoding The video block data at the processor may include: cross component source block; cross component reconstruction block; cross component reconstruction error; current component source block; current component reconstruction block; and current component reconstruction error. That is, referring to the example shown in FIG. 8, all the information in FIG. 8 is available at the cross component filter unit 300 when the chroma reconstruction block is to be filtered. Accordingly, filter determination unit 302 may derive filters to be used on the chroma reconstruction block based on the video data, and sample modification unit 304 may perform filtering according to the derived filters. As shown in FIG. 7, sample modification unit 304 may output the modified reconstructed block to a reference picture buffer (ie, as a loop filter), and output the modified reconstructed block to an output (eg, a display) ). Furthermore, as shown in FIG. 7 , the filter determination unit 302 may output filter data. That is, filter data specifying the derived filter may be signaled to the video decoder. Examples of such signaling are described in further detail below. It should be noted that with respect to FIG. 8, there may be several ways of reducing reconstruction error at the video encoder, eg, reducing quantization and/or performing improved prediction techniques. Furthermore, in some cases, the video encoder may directly signal the reconstruction error. However, cross-component filtering in accordance with the techniques herein provides a way to signal a relatively small amount of information while reducing reconstruction errors. That is, for example, the cross-component filtering techniques described herein may provide a way to reduce reconstruction error at a video decoder while being more effective than other techniques for reducing reconstruction error. For example, signaling filter data may cost fewer bits than signaling higher fidelity residual information for components.

因此,交叉分量滤波器单元300可通过采用第一颜色分量和一种或多种第二颜色分量作为输入来操作,并且提供增强的第一颜色分量作为输出。应当指出的是,尽管相对于亮度分量、Cb分量和Cr分量描述了本文的示例,但是本文描述的技术通常适用于其他视频格式(例如,RGB)和其他类型的视频信息,诸如红外、深度、视差或其他特征。Thus, the cross component filter unit 300 may operate by taking as input a first color component and one or more second color components, and provide an enhanced first color component as output. It should be noted that although the examples herein are described with respect to luma, Cb, and Cr components, the techniques described herein are generally applicable to other video formats (eg, RGB) and other types of video information such as infrared, depth, Parallax or other features.

以下公式提供了滤波器的模型的示例,该滤波器采用来自多个分量的样本值作为输入并且输出经滤波的样本值fi(x,y),因此,在一个示例中,交叉分量滤波器单元300可以基于该公式来实现滤波过程。The following formulas provide an example of a model for a filter that takes as input sample values from multiple components and outputs filtered sample values f i (x,y), thus, in one example, a cross-component filter The unit 300 can implement the filtering process based on this formula.

Figure BDA0003427038460000291
Figure BDA0003427038460000291

其中,in,

fi(x,y)f i (x,y)

是样本位置(x,y)处的分量i的输出;is the output of component i at sample position (x,y);

Si,0;Si1;和Si,2:定义相对于相应分0、1、2中的原点的一组样本值位置;S i,0 ; S i1 ; and S i,2 : define a set of sample value positions relative to the origin in the corresponding points 0, 1, 2;

g(x,y,i,0)和h(x,y,i,0),g(x,y,i,1)和h(x,y,i,1),g(x,y,i,2)和h(x,y,i,2):基于x、y、i和输入分量确定支持的原点。函数g()、h()还可取决于色度格式、色度位置类型、色域、滤波器形状;g(x,y,i,0) and h(x,y,i,0), g(x,y,i,1) and h(x,y,i,1), g(x,y, i,2) and h(x,y,i,2): Determine the supported origin based on x, y, i and input components. The functions g(), h() may also depend on chroma format, chroma position type, gamut, filter shape;

c0(x0,y0)、c1(x0,y0)和c2(x0,y0):是用于每个分量的支持区域的滤波器系数值;c 0 (x 0 , y 0 ), c 1 (x 0 , y 0 ) and c 2 (x 0 , y 0 ): are the filter coefficient values for the support region of each component;

I0、I1和I2:是来自每个分量的输入样本值;并且I 0 , I 1 and I 2 : are the input sample values from each component; and

Ii(x,y):是在样本位置(x,y)处的分量i在滤波之前的样本值。I i (x, y): is the sample value of component i at sample position (x, y) before filtering.

因此,根据本文的技术,交叉分量滤波器单元300可以被配置为通过基于将其他分量的重构样本值作为输入的导出的滤波函数向当前分量的重构样本值添加细化,来减小当前分量的重构误差。在一个示例中,用作输入的其他分量的重构样本值可被称为滤波器支持。图9A至图9F是示出根据本公开的一种或多种技术的可用于交叉分量滤波的支持样本示例的概念图。在图9A至图9F所示的示例中,对于JVET-N1001和JVET-O2001中提供的4:2:0样本格式色度位置类型中的每一个类型,示出了用于要滤波的色度样本的亮度支持样本。即,可使用5×5、5×6、6×5和/或6×6支持样本。应当指出的是,在图9A至图9F的示例中,亮度支持被定义为关于色度样本值对称。应当指出的是,在其他示例中,亮度支持可以在被输入到不依赖于色度位置类型的滤波级之前经历相移,该相移具体取决于色度位置类型。如下面进一步详细描述的,对于每个支持样本,可以确定和发信号通知滤波器系数。在一个示例中,根据本文的技术,对于视频块中包括的色度样本,用于每个样本的支持的相对位置可以基于样本格式。例如,在一个示例中,根据本文的技术,对于4:2:0样本格式,当视频块中色度位置(xC,yC)处的色度样本对应于原点在亮度位置(xL,yL)处的支持时,用于该视频块中色度位置(xC+m,yC+n)处的色度样本的支持的原点可以在亮度位置(xC+2m,yC+2n)处;对于4:2:2样本格式,当视频块中色度位置(xC,yC)处的色度样本对应于原点在亮度位置(xL,yL)处的支持时,用于该视频块中色度位置(xC+m,yC+n)处的色度样本的支持的原点可以在亮度位置(xC+2m,yC+n)处;并且对于4:4:4样本格式,当视频块中色度位置(xC,yC)处的色度样本对应于原点在亮度位置(xL,yL)处的支持时,用于该视频块中色度位置(xC+m,yC+n)处的色度样本的支持的原点可以在亮度位置(xC+m,yC+n)处。应当指出的是,在该示例中,色度样本位置的偏移对应于支持的原点的亮度位置的偏移,其中这两个偏移之间的比率基于色度格式。Thus, in accordance with the techniques herein, cross component filter unit 300 may be configured to reduce the current component by adding refinement to the reconstructed sample values of the current component based on a derived filter function that takes as input the reconstructed sample values of the other components Component reconstruction error. In one example, the reconstructed sample values of other components used as input may be referred to as filter support. 9A-9F are conceptual diagrams illustrating examples of support samples that may be used for cross-component filtering in accordance with one or more techniques of this disclosure. In the examples shown in Figures 9A to 9F, for each of the 4:2:0 sample format chroma position types provided in JVET-N1001 and JVET-O2001, the chroma used for filtering is shown The brightness of the sample supports the sample. That is, 5x5, 5x6, 6x5, and/or 6x6 support samples may be used. It should be noted that in the examples of Figures 9A-9F, the luma support is defined to be symmetric with respect to the chroma sample values. It should be noted that in other examples, the luma support may undergo a phase shift that is dependent on the chroma position type before being input to a filtering stage that is independent of the chroma position type. As described in further detail below, for each support sample, filter coefficients may be determined and signaled. In one example, according to the techniques herein, for chroma samples included in a video block, the supported relative positions for each sample may be based on the sample format. For example, in one example, according to the techniques herein, for a 4:2:0 sample format, when a chroma sample in a video block at a chroma position (x C , y C ) corresponds to an origin at a luma position (x L , y C ) y L ), the origin of the support for the chroma samples at chroma position (x C +m,y C +n) in this video block may be at luma position (x C +2m,y C + 2n); for the 4:2:2 sample format, when the chroma sample at the chroma position (x C , y C ) in the video block corresponds to the support of the origin at the luma position (x L , y L ), The supported origin for chroma samples at chroma position (x C +m, y C + n) in this video block may be at luma position (x C +2m, y C +n); and for 4: 4:4 sample format, used for color in a video block when the chroma samples at the chroma position (x C , y C ) in the video block correspond to the support of the origin at the luma position (x L , y L ) The supported origin of the chroma samples at the degree position (x C +m, y C +n) may be at the luma position (x C +m, y C +n). It should be noted that in this example, the offset of the chroma sample position corresponds to the offset of the luma position of the supported origin, where the ratio between the two offsets is based on the chroma format.

在一个示例中,根据本文的技术,交叉分量滤波的应用可以基于包括在滤波器支持区域中的样本的属性。例如,在一个示例中,可以分析支持区域中的亮度样本值,并且可以基于该分析来确定是否应用交叉分量滤波。例如,在一个示例中,可以计算支持区域中样本的方差和/或偏差,并且如果该方差和/或偏差具有某些特征,例如,该区域是平滑的(即,方差小于阈值),则可以不对该区域应用交叉分量滤波。在一个示例中,交叉分量滤波器选择(包括是否应用滤波器以及何时应用滤波器,应用哪种滤波器)可以基于与所评估的色度样本对应的亮度样本的亮度分类滤波器索引。在一个示例中,可以如JVET-O2001中所述导出用于亮度样本的分类滤波器索引。在一个示例中,当确定亮度分类滤波器索引在亮度分类滤波器索引的子集中时,可以不应用交叉分量滤波。如下文进一步详细描述的,局部区域控制标记和/或语法元素的值可用于指示/确定是否针对区域应用交叉分量滤波,以及如果要针对区域应用交叉分量滤波,则应用哪种交叉分量滤波器。在一个示例中,交叉分量滤波的应用可以基于滤波器支持区域中包括的样本的属性和/或局部区域控制标记和/或语法元素的值。也就是说,例如,如何分析亮度支持样本可以基于局部区域控制标记和/或语法元素(例如,如果标记==0,则计算/评估方差,否则计算/评估亮度分类滤波器索引)。此外,在一个示例中,滤波器选择基于语法元素的值和亮度支持样本的属性。例如,语法元素的值为0可以指示未对区域应用交叉分量滤波,语法元素的值为1并且亮度支持的方差大于阈值可以指示应用具有第一滤波器系数组的滤波器,语法元素的值为1并且亮度支持的方差不大于阈值可以指示应用具有第二滤波器系数组的滤波器,语法元素的值为2并且亮度支持的方差大于阈值可以指示应用具有第三滤波器系数组的滤波器,语法元素的值为2并且亮度支持的方差不大于阈值可以指示应用具有第四滤波器系数组的滤波器,等等。In one example, in accordance with the techniques herein, the application of cross-component filtering may be based on properties of samples included in the filter support region. For example, in one example, luma sample values in the support region can be analyzed, and whether to apply cross-component filtering can be determined based on the analysis. For example, in one example, the variance and/or bias of the samples in the support region can be calculated, and if the variance and/or bias has certain characteristics, eg, the region is smooth (ie, the variance is less than a threshold), then the variance and/or bias can be calculated No cross component filtering is applied to this region. In one example, the cross-component filter selection (including whether and when to apply the filter, and which filter to apply) may be based on the luma classification filter index of the luma sample corresponding to the evaluated chroma sample. In one example, the classification filter index for luma samples can be derived as described in JVET-O2001. In one example, cross component filtering may not be applied when it is determined that the luma classification filter index is in a subset of the luma classification filter indexes. As described in further detail below, the value of the local region control flag and/or syntax element may be used to indicate/determine whether to apply cross-component filtering for the region, and if so, which cross-component filter to apply. In one example, the application of cross-component filtering may control the values of flags and/or syntax elements based on attributes of the samples included in the filter support region and/or local region control flags. That is, for example, how luma support samples are analyzed may control flags and/or syntax elements based on local regions (eg, if flag == 0, compute/evaluate variance, otherwise compute/evaluate luma classification filter indices). Furthermore, in one example, the filter selection is based on the value of the syntax element and the properties of the luma support samples. For example, a syntax element with a value of 0 may indicate that cross-component filtering is not applied to the region, a syntax element with a value of 1 and a variance of luma support greater than a threshold may indicate that a filter with the first set of filter coefficients is applied, and the syntax element with a value of 1 1 and the variance of the luma support is not greater than the threshold may indicate that the filter with the second set of filter coefficients is applied, the value of the syntax element is 2 and the variance of the luma support is greater than the threshold may indicate the application of the filter with the third set of filter coefficients, A syntax element with a value of 2 and a variance of luma support not greater than a threshold may indicate that a filter with a fourth set of filter coefficients is applied, and so on.

本文所附附录提供了对应于本文所述的交叉分量滤波器的具体实施的数据集的示例。也就是说,在附录中,数据集orgBlock表示原始32×32U分量块的样本值;数据集preFilteringBlock表示重构的32×32U分量块的样本值;数据集orgError表示原始32×32U分量块与重构的32×32U分量块之间的重构误差;数据集bestSupportY表示67×68Y分量块的样本值,该分量块为滤波重构的32×32U分量块提供滤波器支持;数据集bestSupportU表示36×36U分量块的样本值,该分量块为滤波重构的32×32U分量块提供支持;数据集bestSupportV表示36×36UV量块的样本值,该分量块为滤波重构的32×32U分量块提供支持;数据集coeffY表示用于67×68Y分量支持块的样本值的5×6滤波器中的滤波器系数;数据集coeffU表示用于36×36U分量支持块的样本值的5×5滤波器中的滤波器系数;数据集coeffU表示用于36×36V分量支持块的样本值的5×5滤波器中的滤波器系数;数据集bestOutput表示经滤波的重构32×32U分量块的样本值;数据集bestError表示原始32×32U分量块与经滤波的重构32×32U分量块之间的误差;数据集signedimprovement等于Abs(orgError)-Abs(bestError),并且表示由滤波产生的重构误差的变化;并且数据集positive improve表示重构误差由于滤波而减小的重构样本值。因此,根据本文的技术,可通过应用交叉分量滤波器来减小一个或多个或大部分样本的重构误差。应当指出的是,对于特定类型的视频内容,根据数学关系改善的重构误差的量可具有基于如何改善视频的感知视觉质量的不同结果。即,例如,相对小的signedimprovement值可导致视觉质量的相对显著的改善。An example of a dataset corresponding to an implementation of the cross-component filter described herein is provided in the appendix herein. That is to say, in the appendix, the data set orgBlock represents the sample value of the original 32×32U component block; the data set preFilteringBlock represents the sample value of the reconstructed 32×32U component block; the data set orgError represents the original 32×32U component block and the repeated The reconstruction error between the reconstructed 32×32U component blocks; the dataset bestSupportY represents the sample value of the 67×68Y component block, which provides filter support for the filtered and reconstructed 32×32U component block; the dataset bestSupportU represents 36 The sample value of the ×36U component block, which provides support for the filtered and reconstructed 32×32U component block; the data set bestSupportV represents the sample value of the 36×36UV component block, which is the filtered and reconstructed 32×32U component block. Provide support; dataset coeffY represents filter coefficients in a 5x6 filter of sample values for a 67x68Y component support block; dataset coeffU represents a 5x5 filter of sample values for a 36x36U component support block filter coefficients in the filter; dataset coeffU represents the filter coefficients in the 5×5 filter for the sample values of the 36×36V component support block; dataset bestOutput represents the filtered samples of the reconstructed 32×32U component block value; dataset bestError represents the error between the original 32x32U component block and the filtered reconstructed 32x32U component block; dataset signedimprovement is equal to Abs(orgError)-Abs(bestError) and represents the reconstruction resulting from filtering The change in error; and the dataset positive improve represents the reconstructed sample values for which the reconstruction error is reduced due to filtering. Thus, in accordance with the techniques herein, the reconstruction error of one or more or most of the samples may be reduced by applying a cross-component filter. It should be noted that for certain types of video content, the amount of reconstruction error improved according to the mathematical relationship may have different consequences based on how the perceived visual quality of the video is improved. That is, for example, a relatively small signedimprovement value can result in a relatively significant improvement in visual quality.

如上所述,交叉分量滤波器单元300通常可通过采用第一颜色分量和一种或多种第二颜色分量作为输入来操作,并且提供增强的第一颜色分量作为输出。也就是说,由交叉分量滤波器单元300执行的滤波过程可以采用输入亮度样本值作为输入亮度样本值,该输入亮度样本值可以用于预测原始相应色度样本值之间的差值和基于该预测来输出细化的色度样本值。再次参考图8所示的示例,图10是示出根据本公开的一种或多种技术的使用交叉分量滤波来减小重构误差的示例的概念图。图10提供了一个示例,其中通过以下操作来减小重构误差:采用支持样本的平均值,并且如果该平均值大于90,则将平均值除以10加到重构样本;并且如果该平均值不大于90,则从重构样本减去平均值除以10。也就是说,在该示例中,预测滤波器通常被描述为:如果支持平均值大于threshold1,则将加上weight1乘以支持平均值;否则,加上weight2乘以支持平均值。如图10所示的示例所示,后滤波色度重构误差提供重构误差减小。因此,根据本文的技术,交叉分量滤波可以根据按照逻辑函数、阈值、权重等定义的交叉分量滤波器来减小重构误差。As described above, the cross component filter unit 300 is generally operable by taking as input a first color component and one or more second color components, and providing an enhanced first color component as an output. That is, the filtering process performed by the cross-component filter unit 300 may take input luma sample values as input luma sample values that can be used to predict the difference between the original corresponding chroma sample values and based on the Predict to output refined chroma sample values. Referring again to the example shown in FIG. 8 , FIG. 10 is a conceptual diagram illustrating an example of reducing reconstruction error using cross-component filtering in accordance with one or more techniques of the present disclosure. Figure 10 provides an example in which the reconstruction error is reduced by taking the mean of the support samples and adding the mean divided by 10 to the reconstructed samples if the mean is greater than 90; and if the mean is greater than 90 Values not greater than 90, subtract the mean from the reconstructed samples and divide by 10. That is, in this example, the prediction filter is generally described as: if the support mean is greater than threshold1, then add weight1 times the support mean; otherwise, add weight2 times the support mean. As shown in the example shown in Figure 10, post-filtering the chroma reconstruction error provides reconstruction error reduction. Thus, according to the techniques herein, cross-component filtering may reduce reconstruction errors in terms of cross-component filters defined in terms of logistic functions, thresholds, weights, and the like.

如上所述,JVET-N1001和JVET-O2001包括解块滤波器、SAO滤波器和ALF滤波器,本文所述的交叉分量滤波器技术可以作为滤波器链中的各个点来执行。即,例如,在环路滤波的各个级执行。图11A至图11D是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。在图11A至图11D中,亮度SAO滤波器单元402表示被配置为对亮度样本值Y执行SAO滤波(例如,JVET-N1001或JVET-O2001中提供的SAO滤波)的滤波单元;Cb SAO滤波器单元404表示被配置为对色度Cb样本值执行SAO滤波(例如,JVET-N1001或JVET-O2001中提供的SAO滤波)的滤波单元;Cb SAO滤波器单元406表示被配置为对Cb样本值执行SAO滤波(例如,JVET-N1001或JVET-O2001中提供的SAO滤波)的滤波单元;亮度ALF滤波器单元408表示被配置为对亮度样本值Y执行ALF滤波(例如,JVET-N1001或JVET-O2001中提供的ALF滤波)的滤波单元;色度ALF滤波器单元410表示被配置为对色度样本值执行ALF滤波(例如,JVET-N1001或JVET-O2001中提供的ALF滤波)的滤波单元;亮度解块滤波器单元416表示被配置为对亮度样本值Y执行解块滤波(例如,JVET-N1001或JVET-O2001中提供的解块滤波)的滤波单元;Cb解块滤波器单元418表示被配置为对Cb样本值执行解块滤波(例如,JVET-N1001或JVET-O2001中提供的解块滤波)的滤波单元;并且Cr解块滤波器单元420表示被配置为对Cr样本值执行解块滤波(例如,JVET-N1001或JVET-O2001中提供的解块滤波)的滤波单元。此外,在图11A至图11D中,Cb交叉分量滤波器单元412表示被配置为根据本文所述的技术中的一种或多种生成Cb细化ΔCb的交叉分量滤波器的示例;并且Cr交叉分量滤波器单元414表示被配置为根据本文所述的技术中的一种或多种生成Cr细化ΔCr的交叉分量滤波器的示例。因此,如图11A至图11D所示,根据本文的技术的交叉分量滤波可以应用为滤波链中的各个点。即,可在滤波链中的各个点处接收交叉分量滤波输入,并且可在滤波链中的各个点处输出交叉分量滤波细化。应当指出的是,在图11B所示的示例中,亮度解块的输入用作滤波的输入,这可具有降低线缓冲器要求的优点。应当指出的是,在图11C所示的示例中,亮度解块的输出用作滤波的输入,这可具有降低线缓冲器要求、同时略微提高编码效率的优点。应当指出的是,在图11D所示的示例中,ALF亮度的输出用作滤波的输入,这可具有改善的编码效率的优点。As mentioned above, JVET-N1001 and JVET-O2001 include deblocking filters, SAO filters, and ALF filters, and the cross-component filter techniques described herein can be implemented as various points in the filter chain. That is, for example, performed at various stages of loop filtering. 11A-11D are block diagrams illustrating examples of cross-component filter units that may be configured to reduce reconstruction error in accordance with one or more techniques of the present disclosure. In Figures 11A-11D, luma SAO filter unit 402 represents a filter unit configured to perform SAO filtering (eg, SAO filtering provided in JVET-N1001 or JVET-O2001) on luma sample values Y; Cb SAO filter Unit 404 represents a filtering unit configured to perform SAO filtering (eg, SAO filtering provided in JVET-N1001 or JVET-O2001) on chroma Cb sample values; Cb SAO filter unit 406 represents a filter unit configured to perform SAO filtering on Cb sample values A filtering unit for SAO filtering (eg, SAO filtering provided in JVET-N1001 or JVET-O2001); luma ALF filter unit 408 represents a filtering unit configured to perform ALF filtering on luma sample value Y (eg, JVET-N1001 or JVET-O2001 ALF filtering provided in); chroma ALF filter unit 410 represents a filtering unit configured to perform ALF filtering (eg, ALF filtering provided in JVET-N1001 or JVET-O2001) on chroma sample values; luma Deblocking filter unit 416 represents a filtering unit configured to perform deblocking filtering (eg, as provided in JVET-N1001 or JVET-O2001) on luma sample values Y; Cb deblocking filter unit 418 represents a filtering unit configured is a filtering unit that performs deblocking filtering (eg, deblocking filtering provided in JVET-N1001 or JVET-O2001) on Cb sample values; and Cr deblocking filter unit 420 represents a filter unit configured to perform deblocking filtering on Cr sample values A filtering unit (eg, deblocking filtering provided in JVET-N1001 or JVET-O2001). Furthermore, in FIGS. 11A-11D , Cb cross component filter unit 412 represents an example of a cross component filter configured to generate a Cb refinement ΔCb according to one or more of the techniques described herein; and Cr cross Component filter unit 414 represents an example of a cross-component filter configured to generate a Cr refinement ΔCr according to one or more of the techniques described herein. Thus, as shown in FIGS. 11A-11D , cross-component filtering in accordance with the techniques herein may be applied as various points in the filter chain. That is, cross-component filtering inputs may be received at various points in the filtering chain, and cross-component filtering refinements may be output at various points in the filtering chain. It should be noted that in the example shown in Figure 1 IB, the input of the luma deblocking is used as the input for filtering, which may have the advantage of reducing line buffer requirements. It should be noted that in the example shown in Figure 11C, the output of the luma deblocking is used as the input for filtering, which may have the advantage of reducing line buffer requirements while slightly improving coding efficiency. It should be noted that in the example shown in Figure 1 ID, the output of the ALF luma is used as the input for filtering, which may have the advantage of improved coding efficiency.

此外,本文所述的交叉分量滤波器技术还可包括在滤波器链中的各个点处执行剪辑操作。即,例如,在环路滤波器的各个级执行。图12A至图12B是示出根据本公开的一种或多种技术的可被配置为减小重构误差的交叉分量滤波器单元示例的框图。在图12A至图12B中,共同编号的元件在上文中相对于图11A至图11B描述过,并且削波单元422A至422D可被配置为执行基于相应分量的输出位深度的削波函数,例如Clip3(0,2BitDepthC-1,*)。应当指出的是,可基于是否执行特定类型的滤波来选择性地启用剪辑单元422A至422D。Additionally, the cross-component filter techniques described herein may also include performing clipping operations at various points in the filter chain. That is, for example, performed at various stages of the loop filter. 12A-12B are block diagrams illustrating examples of cross-component filter units that may be configured to reduce reconstruction error in accordance with one or more techniques of this disclosure. In Figures 12A-12B, the commonly numbered elements were described above with respect to Figures 11A-11B, and clipping units 422A-422D may be configured to perform a clipping function based on the output bit depth of the respective components, eg Clip3(0,2 BitDepthC -1,*). It should be noted that clipping units 422A-422D may be selectively enabled based on whether a particular type of filtering is performed.

图13A至图13B是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。图13A至图13B进一步示出了根据本文技术的交叉分量滤波可以应用于滤波链中的各个点。在图13A至图13C中,共同编号的元件如上所述。13A-13B are block diagrams illustrating examples of cross-component filter units that may be configured to reduce reconstruction error in accordance with one or more techniques of this disclosure. 13A-13B further illustrate that cross-component filtering in accordance with the techniques herein may be applied to various points in the filtering chain. In Figures 13A-13C, the commonly numbered elements are as described above.

此外,应当指出的是,在一些情况下,可能存在超过3个视频数据分量,例如,YUV+深度。本文所述的交叉分量滤波技术通常可适用于这些情况。在一些情况下,可在滤波操作之前执行对来自每个分量的输入样本值的预处理。例如,可以对输入样本值进行削波。此外,在一个示例中,削波范围可以针对每个系数而变化,并且可以在比特流中发信号通知。应当指出的是,在一些示例中,以下公式提供了用于预处理输入样本值的选项:Furthermore, it should be noted that in some cases there may be more than 3 video data components, eg YUV+depth. The cross-component filtering techniques described herein are generally applicable to these situations. In some cases, preprocessing of the input sample values from each component may be performed prior to the filtering operation. For example, input sample values can be clipped. Furthermore, in one example, the clipping range may vary for each coefficient and may be signaled in the bitstream. It should be noted that, in some examples, the following formulas provide options for preprocessing input sample values:

Ij(g(x,y,i,j)+xj,h(x,y,i,j)+yj)I j (g(x, y, i, j)+x j , h(x, y, i, j)+y j )

=min(a,max(b,I′j(g(x,y,i,j)+xj,(x,y,i,j)+yj)-derivedValue))=min(a,max(b, I'j (g(x,y,i,j)+ xj ,(x,y,i, j )+yj)-derivedValue))

此外,用于预处理输入样本值的另一选项可以如下:Additionally, another option for preprocessing input sample values can be as follows:

Ij(g(x,y,i,j)+xj,(x,y,i,j)+yj)I j (g(x, y, i, j)+x j , (x, y, i, j)+y j )

=derivedValue+min(a,max(b,I′j(g(x,y,i,j)+xj,h(x,y,i,j)+yj)-derivedValue))=derivedValue+min(a, max(b, I′ j (g(x, y, i, j)+x j , h(x, y, i, j)+y j )-derivedValue))

其中,in,

I’j(u,v):处理之前位置(u,V)处的样本值I' j (u, v): sample value at position (u, V) before processing

derivedValue:是从I’,(*,*)中的值的子集导出的值,例如原点处为(a)Ij(g(x,y,i,j)+0,h(x,y,i,j)+0),原点周围为(b)

Figure BDA0003427038460000351
derivedValue: is a value derived from a subset of the values in I', (*, *), e.g. (a) Ij (g(x,y,i,j)+0,h(x,y) at the origin , i, j)+0), around the origin is (b)
Figure BDA0003427038460000351

a:是在比特流中接收的值/从在比特流中接收的数据推断的值/从I’j(*,*)中的值的子集导出的值,并且a: is the value received in the bitstream/value inferred from the data received in the bitstream/value derived from a subset of the values in I'j (*,*), and

b:是在比特流中接收的值/从在比特流中接收的数据推断的值/从I’j(*,*)中的值的子集导出的值b: is the value received in the bitstream/value inferred from the data received in the bitstream/value derived from a subset of the values in I'j (*,*)

在一个示例中,b可从a导出(例如,b=-a),以减少所需的信令量。In one example, b can be derived from a (eg, b=-a) to reduce the amount of signaling required.

此外,在一个示例中,在交叉分量滤波器操作中使用的输入的一般化可以如下:Furthermore, in one example, a generalization of the input used in the cross component filter operation can be as follows:

Figure BDA0003427038460000361
Figure BDA0003427038460000361

其中,Gn()是用于组合来自分量的样本值并获得对应于具有索引(xcj,ycj)的每个系数值的推导值的函数。函数Gi()可取决于色度格式、色度位置类型、色域、滤波器形状where Gn( ) is a function for combining sample values from the components and obtaining a derived value corresponding to each coefficient value with index (x cj , y cj ). The function G i ( ) may depend on the chroma format, chroma position type, gamut, filter shape

在一个示例中,可以根据以下各项来执行交叉分量滤波:定义亮度的支持区域;对于4:2:0,以2X色度分量进行上采样以用作输入;从用于对应的色度分量的支持中减去导出的值(例如,对于10位色度为512,或局部平均值);然后取对应于所定义的支持区域的亮度样本值和色度样本值的采样乘积;以及使用该乘积作为滤波操作的输入之一。In one example, cross-component filtering may be performed according to: defining a support region for luma; for 4:2:0, up-sampling with 2X chroma components for use as input; Subtract the derived value (e.g., 512 for 10-bit chroma, or the local average) from the support of The product is used as one of the inputs to the filtering operation.

此外,应当指出的是,在一些示例中,本文描述的交叉分量滤波技术可以对预测或残差执行。在一个示例中,如果使用域编码而不是渐进式编码,则对于亮度支持样本:在一个示例中,可以使用来自对应的亮度域中的一个的样本值,并且在另一个示例中,可以使用来自两个亮度域的样本值。Furthermore, it should be noted that, in some examples, the cross-component filtering techniques described herein may be performed on predictions or residuals. In one example, if domain coding is used instead of progressive coding, samples are supported for luma: in one example, sample values from one of the corresponding luma domains can be used, and in another example, samples from Sample values for the two luminance domains.

如上所述,对于每个支持样本,可确定滤波器系数并发信号通知该滤波器系数。也就是说,例如,可以发信号通知5×5、5×6、6×6和/或6×6滤波器系数。图14A至图14C示出了发信号通知用于5×5滤波器的滤波器系数的示例。图14D至图14F示出了发信号通知用于5×6(并且类似地,6×5)滤波器的滤波器系数的示例。图15A至图15D示出了发信号通知用于6×6滤波器的滤波器系数的示例。在图14A至图15D的每个图中,滤波器的相应滤波器系数由CN指示。因此,在向相同C值提供相同滤波器的多个位置的情况下,滤波器系数是相同的,即共享的。这样,减少了为滤波器发信号通知的滤波器系数的数量。例如,在图14D中,针对18个支持位置发信号通知14个滤波器系数。As described above, for each support sample, filter coefficients may be determined and signaled. That is, for example, 5x5, 5x6, 6x6, and/or 6x6 filter coefficients may be signaled. 14A-14C show examples of signaling filter coefficients for a 5x5 filter. 14D-14F show examples of signaling filter coefficients for a 5x6 (and similarly, 6x5) filter. 15A-15D illustrate examples of signaling filter coefficients for a 6x6 filter. In each of Figures 14A-15D, the corresponding filter coefficients of the filters are indicated by CN . Therefore, in the case of multiple locations where the same filter is provided to the same C value, the filter coefficients are the same, ie shared. In this way, the number of filter coefficients signaled for the filter is reduced. For example, in Figure 14D, 14 filter coefficients are signaled for 18 support positions.

在一个示例中,可能期望限制逐CTU处理样本的架构内的线缓冲器的数量。也就是说,例如,虚拟线边界为每个CTU提供了在较低CTU进入之前可处理水平VB上方的样本的位置,但是在较低CTU变得可用之前,水平VB下方的样本无法处理。JVET-N1001和JVET-O2001为亮度ALF和亮度SAO定义了水平虚拟线边界(VB)。根据本文的技术,该VB可重复用于本文定义的亮度输入-色度输出滤波器。此外,度直VB可重复用于本文定义的垂亮输入-色度输出滤波器,并且/或者VB的子集可重复用于本文定义的亮度输入-色度输出滤波器。此外,存在定义的两种情况,可针对这两种情况导出/修改亮度分量中的支持样本:当预先确定的亮度样本(对应于例如基于色度位置类型解码的色度样本)高于VB并且支持跨越VB时;以及当预先确定的亮度样本(对应于例如基于色度位置类型解码的色度样本)低于VB并且支持跨越VB时。在一个示例中,预先确定的样本是在对应于图14D所示的5×6亮度支持的系数C6的位置处的样本。图16A至图16D是示出根据本公开的一种或多种技术的可用于交叉分量滤波的虚拟线缓冲器示例的概念图。在图16A中,通过在虚拟线边界上方且最靠近虚拟线边界而且在同一列中复制样本来获得水平VB下方的样本。在图16B中,通过在虚拟线边界下方且最靠近虚拟线边界而且在同一列中复制样本来获得水平VB下方的样本。在一个示例中,亮度VB是来自水平CTU边界的四个样本。在一个示例中,每个CTU、SAO和ALF可以在右CTU进入之前在垂直VB的左侧处理样本,但是不能在右CTU可用之前在垂直VB的右侧处理样本。当支持跨越垂直虚拟边界(VB)时的示例性修改在图16C至图16D中示出。在图16C中,通过将样本向左且最靠近虚拟线边界且在同一行中复制来获得垂直VB右侧的样本。在图16D中,通过将样本向右且最靠近虚拟线边界且在同一行中复制来获得垂直VB左侧的样本。在一个示例中,亮度VB是来自垂直CTU边界的四个样本。在一个示例中,根据本文的技术,相对于生成用于水平VB的样本,可以考虑穿过支持区域的中心的垂直轴线和水平轴线。可通过将与垂直轴线相距相同距离但在垂直轴线的相对侧上的样本复制在一列中来获得所复制的样本。在一个示例中,所复制的样本可从与水平轴线相距相同距离但在相对侧上的行复制。在一个示例中,根据本文的技术,相对于生成用于垂直VB的样本,可以考虑穿过支持区域的中心的垂直轴线和水平轴线。可通过将与垂直轴线相距相同距离但在水平轴线的相对侧上的样本复制在一行中来获得所复制的样本。在一个示例中,所复制的样本可从与垂直轴线相距相同距离但在相对侧上的列复制。在一个示例中,根据本文的技术,相对于生成用于VB的样本,可以通过对称填充来获得样本。也就是说,相对于水平VB,可以从同一列以距VB相同的样本距离并相对于垂直VB复制样本,可以从同一行以距VB相同的样本距离复制样本。即,样本值关于VB镜像。应当指出的是,JVET-O2001的第8.8.5.2节“用于亮度样本的编码树块滤波过程”提供了用于跨虚拟边界的亮度样本的填充方案,以用于相对于ALF过程使用。在一个示例中,根据本文的技术,对于交叉分量滤波,可以使用类似的填充方案。In one example, it may be desirable to limit the number of line buffers within an architecture that processes samples per CTU. That is, for example, a virtual line boundary provides each CTU with a location where samples above the horizontal VB can be processed before the lower CTU enters, but samples below the horizontal VB cannot be processed until the lower CTU becomes available. JVET-N1001 and JVET-O2001 define horizontal virtual line boundaries (VB) for luminance ALF and luminance SAO. According to the techniques herein, this VB can be reused for the luma input-chroma output filters defined herein. Furthermore, the luminance straight VB may be reused for the vertical luminance input-chroma output filter defined herein, and/or a subset of VB may be reused for the luminance input-chrominance output filter defined herein. Furthermore, there are two defined cases for which support samples in the luma component can be derived/modified: when a predetermined luma sample (corresponding to eg a chroma sample decoded based on a chroma position type) is above VB and when spanning VB is supported; and when predetermined luma samples (corresponding to, for example, chroma samples decoded based on chroma position type) are below VB and spanning VB is supported. In one example, the predetermined samples are samples at positions corresponding to coefficient C6 of the 5x6 luma support shown in Figure 14D. 16A-16D are conceptual diagrams illustrating examples of virtual line buffers that may be used for cross-component filtering in accordance with one or more techniques of this disclosure. In Figure 16A, the samples below the horizontal VB are obtained by duplicating the samples above and closest to the virtual line boundary and in the same column. In Figure 16B, the samples below the horizontal VB are obtained by duplicating the samples below and closest to the virtual line boundary and in the same column. In one example, luminance VB is four samples from the horizontal CTU boundary. In one example, each CTU, SAO and ALF can process samples on the left side of the vertical VB before the right CTU enters, but cannot process samples on the right side of the vertical VB until the right CTU is available. Exemplary modifications when supporting vertical virtual boundaries (VBs) are shown in Figures 16C-16D. In Figure 16C, the samples to the right of the vertical VB are obtained by duplicating the samples to the left and closest to the virtual line boundary and in the same row. In Figure 16D, the samples to the left of the vertical VB are obtained by duplicating the samples to the right and closest to the virtual line boundary and in the same row. In one example, luminance VB is four samples from vertical CTU boundaries. In one example, a vertical axis and a horizontal axis passing through the center of the support region may be considered relative to generating samples for horizontal VBs according to the techniques herein. A replicated sample can be obtained by replicating in a column samples that are the same distance from the vertical axis but on opposite sides of the vertical axis. In one example, replicated samples may be replicated from rows that are the same distance from the horizontal axis but on opposite sides. In one example, a vertical axis and a horizontal axis passing through the center of the support region may be considered relative to generating samples for vertical VBs according to the techniques herein. A replicated sample can be obtained by replicating in a row samples that are the same distance from the vertical axis but on opposite sides of the horizontal axis. In one example, replicated samples may be replicated from columns that are the same distance from the vertical axis but on opposite sides. In one example, in accordance with the techniques herein, samples may be obtained by symmetrical padding relative to generating samples for VB. That is, samples may be copied from the same column at the same sample distance from VB and relative to vertical VB, and samples may be copied from the same row at the same sample distance from VB, relative to horizontal VB. That is, the sample values are mirrored with respect to the VB. It should be noted that section 8.8.5.2 of JVET-O2001 "Coding treeblock filtering process for luma samples" provides a padding scheme for luma samples across virtual boundaries for use relative to the ALF process. In one example, a similar padding scheme may be used for cross-component filtering in accordance with the techniques herein.

在一个示例中,根据本文的技术,交叉分量滤波包括在将输出添加到对应的色度ALF输出之前缩放交叉分量滤波的输出。In one example, according to the techniques herein, the cross-component filtering includes scaling the output of the cross-component filtering before adding the output to the corresponding chroma ALF output.

即,缩放操作可用于将滤波器系数转换为整数,例如如下:That is, a scaling operation can be used to convert filter coefficients to integers, for example as follows:

Figure BDA0003427038460000381
Figure BDA0003427038460000381

其中,在一个示例中,factor=2BitDepthC,在另一个示例中,factor=2(BitDepthC-1)),在另一个示例中,factor=2(8-l) where factor=2 BitDepthC in one example, factor=2 (BitDepthC-1) ) in another example, factor=2 (8-1 ) in another example

在一个示例中,缩放因子可用于如下调整交叉分量滤波的输出:In one example, a scaling factor can be used to adjust the output of the cross-component filtering as follows:

Figure BDA0003427038460000391
应当指出的是,如果factor=2X,则这对应于右移位整数舍入(fi(x,y)+2(x-1))>>x
Figure BDA0003427038460000391
It should be noted that if factor=2 X , this corresponds to right-shift integer rounding ( fi (x,y)+2 (x-1) )>>x

如上所述,指定所导出的滤波器的滤波器数据可被发信号通知视频解码器。在一个示例中,发信号通知滤波器数据可存在三个主要方面:打开/关闭滤波器;工具的局部控制,例如,在一些空间区域中而不是在其他空间区域中启用工具;以及特定滤波器的信令。在一个示例中,参数集(例如序列参数集)可有条件地包括启用/禁用滤波器的标记。在一个示例中,该标记可指示是否启用了一个或多个滤波器,例如ALF滤波器和交叉分量滤波器。As described above, filter data specifying the derived filter may be signaled to the video decoder. In one example, there can be three main aspects to signaling filter data: turning filters on/off; local control of tools, eg, enabling tools in some spatial regions but not others; and specific filters signaling. In one example, a parameter set (eg, a sequence parameter set) may conditionally include a flag to enable/disable the filter. In one example, the flag may indicate whether one or more filters are enabled, such as an ALF filter and a cross-component filter.

在一个示例中,可以使用滤波器系数的切片级信令。表3至表5示出了可包括在用于发信号通知滤波器系数的切片标头中的语法的示例。应当指出的是,在表3中,对于语法元素lice_cross_component_alf_cb_log2_control_size_minus4和slice_cross_component_alf_cr_log2_control_size_minus4,在一个示例中,可以使用截断的一元编码来代替ue(v),其中截断的一元的最大值基于有效范围。In one example, slice-level signaling of filter coefficients may be used. Tables 3-5 show examples of syntax that may be included in a slice header for signaling filter coefficients. It should be noted that in Table 3, for syntax elements lice_cross_component_alf_cb_log2_control_size_minus4 and slice_cross_component_alf_cr_log2_control_size_minus4, in one example, a truncated unary encoding may be used instead of ue(v), where the maximum value of the truncated unary is based on the valid range.

Figure BDA0003427038460000401
Figure BDA0003427038460000401

表3table 3

Figure BDA0003427038460000402
Figure BDA0003427038460000402

表4Table 4

Figure BDA0003427038460000411
Figure BDA0003427038460000411

表5table 5

对于表3至表5,在一个示例中,语义可以基于以下内容:For Tables 3 through 5, in one example, the semantics may be based on the following:

slice_cross_component_alf_cb_enabled_flag等于0指定不将交叉分量自适应环路滤波器应用于Cb颜色分量。slice_cross_component_alf_cb_enabled_flag等于1表明将交叉分量自适应环路滤波器应用于Cb颜色分量。slice_cross_component_alf_cb_enabled_flag equal to 0 specifies that the cross-component adaptive loop filter is not applied to the Cb color components. slice_cross_component_alf_cb_enabled_flag equal to 1 indicates that the cross component adaptive loop filter is applied to the Cb color component.

slice_cross_component_alf_cr_enabled_flag等于0指定不将交叉分量自适应环路滤波器应用于Cr颜色分量。slice_cross_component_alf_cb_enabled_flag等于1表明将交叉分量自适应环路滤波器应用于Cr颜色分量。slice_cross_component_alf_cr_enabled_flag equal to 0 specifies that the cross-component adaptive loop filter is not applied to the Cr color components. slice_cross_component_alf_cb_enabled_flag equal to 1 indicates that the cross component adaptive loop filter is applied to the Cr color components.

slice_cross_component_alf_cb_log2_control_size_minus4如下指定以样本数量为单位的正方形块大小的值:slice_cross_component_alf_cb_log2_control_size_minus4 specifies the value of the square block size in number of samples as follows:

AlfCCSamplesCbW=AlfCCSamplesCbH=2(slice _cross_component_alf_cb_log2_control_size_minus4+4)AlfCCSamplesCbW=AlfCCSamplesCbH=2( slice_cross_component_alf_cb_log2_control_size_minus4 +4 )

slice_cross_component_alf_cb_log2_control_size_minus4应在0至3的范围内(包括端值)。slice_cross_component_alf_cb_log2_control_size_minus4 should be in the range 0 to 3 inclusive.

slice_cross_component_alf_cr_log2_control size minus4如下指定以样本数量为单位的正方形块大小的值:slice_cross_component_alf_cr_log2_control size minus 4 specifies the value of the square block size in number of samples as follows:

AlfCCSamplesCrW=AlfCCSamplesCrH=2(slice _cross_component_alf_cr_log2_control_size_minus4+4)AlfCCSamplesCrW=AlfCCSamplesCrH=2( slice_cross_component_alf_cr_log2_control_size_minus4 +4 )

slice_cross_component_alf_cr_log2_control_size_minus4应在0至3的范围内(包括端值)。slice_cross_component_alf_cr_log2_control_size_minus4 should be in the range 0 to 3 inclusive.

应当指出的是,在一个示例中,slice_cross_component_alf_cb_log2_control_size_minus4和/或slice_cross_component_alf_cr_log2_control_size_minus4的方位可在参数集例如SPS中定义。It should be noted that, in one example, the orientation of slice_cross_component_alf_cb_log2_control_size_minus4 and/or slice_cross_component_alf_cr_log2_control_size_minus4 may be defined in a parameter set such as SPS.

在一个示例中,minusX编码取决于为有效范围定义的最小值,例如,如果有效范围为2至5,则X=2。In one example, minusX encoding depends on the minimum value defined for the valid range, eg, if the valid range is 2 to 5, then X=2.

在一个示例中,可在SPS中发信号通知或从CTU大小导出(例如,与色度样本中的CTU大小相同)slice_cross_component_alf_cb_log2_control_size_minus4和/或slice_cross_component_alf_cr_log2_control_size_minus4。In one example, slice_cross_component_alf_cb_log2_control_size_minus4 and/or slice_cross_component_alf_cr_log2_control_size_minus4 may be signaled in the SPS or derived from the CTU size (eg, the same as the CTU size in the chroma samples).

alf_cross_component_cb_filter_signal_flag等于1指定发信号通知交叉分量Cb滤波器组。alf_cross_component_cb_filter_signal_flag等于0指定不发信号通知交叉分量Cb滤波器组。alf_cross_component_cb_filter_signal_flag equal to 1 specifies that the cross component Cb filter bank is signaled. alf_cross_component_cb_filter_signal_flag equal to 0 specifies that the cross component Cb filter bank is not signaled.

alf_cross_component_cb_min_eg_order_minus1加1指定用于交叉分量Cb滤波器系数信令的指数Golomb代码的最小阶数。alf_cross_component_cb_min_eg_order_minus1的值应在0至9的范围内(包括端值)。应当指出的是,在一些示例中,该范围可改变。alf_cross_component_cb_min_eg_order_minus1 plus 1 specifies the minimum order of exponential Golomb codes used for cross component Cb filter coefficient signaling. The value of alf_cross_component_cb_min_eg_order_minus1 should be in the range 0 to 9 inclusive. It should be noted that in some examples, this range may vary.

alf_cross_component_cb_eg_order_increase_flag[i]等于1指定用于交叉分量Cb滤波器系数信令的指数Golomb代码的最小阶数递增1。alf_cross_component_cb_eg_order_increase_flag[i]等于0指定用于交叉分量Cb滤波器系数信令的指数Golomb代码的最小阶数不递增1。alf_cross_component_cb_eg_order_increase_flag[i] equal to 1 specifies that the minimum order of exponential Golomb codes used for cross component Cb filter coefficient signaling is incremented by 1. alf_cross_component_cb_eg_order_increase_flag[i] equal to 0 specifies that the minimum order of exponential Golomb codes used for cross component Cb filter coefficient signaling is not incremented by 1.

用于解码alf_cross_component_cb_coeff_delta_abs[j]的值的指数Golomb代码的阶数expGoOrderCb[i]如下导出:The order expGoOrderCb[i] of the exponential Golomb code used to decode the value of alf_cross_component_cb_coeff_delta_abs[j] is derived as follows:

expGoOrderCb[i]=(i==0?alf_cross_component_cb_min_eg_order_minus1+1:expGoOrderCb[i]=(i==0?alf_cross_component_cb_min_eg_order_minus1+1:

expGoOrderCb[i-1])+alf_cross_component_cb_eg_order_increase_flag[i]expGoOrderCb[i-1])+alf_cross_component_cb_eg_order_increase_flag[i]

alf_cross_component_cb_coeff_delta_abs[j]指定发信号通知的交叉分量Cb滤波器的第j个系数delta的绝对值。当alf_luma_cross_component_cb_coeff_delta_abs[j]不存在时,推断其等于0。alf_cross_component_cb_coeff_delta_abs[j] specifies the absolute value of the jth coefficient delta of the signaled cross component Cb filter. When alf_luma_cross_component_cb_coeff_delta_abs[j] does not exist, it is inferred to be equal to 0.

指数Golomb二值化uek(v)的阶数k如下导出:The order k of the exponential Golomb binarization uek(v) is derived as follows:

golombOrderIdxCb[]={0,2,2,2,1,2,2,2,2,2,2,1,2,1}golombOrderIdxCb[]={0,2,2,2,1,2,2,2,2,2,2,1,2,1}

k=expGoOrderCb[golombOrderIdxCb[j]]k=expGoOrderCb[golombOrderIdxCb[j]]

alf_cross_component_cb_coeff_sign[j]如下指定第j个交叉分量Cb滤波器系数的符号:alf_cross_component_cb_coeff_sign[j] specifies the sign of the jth cross component Cb filter coefficient as follows:

-如果alf_cross_component_cb_coeff_sign[j]等于0,则对应的色度滤波器系数具有正值。- If alf_cross_component_cb_coeff_sign[j] is equal to 0, the corresponding chroma filter coefficient has a positive value.

-否则(alf_cross_component_cb_coeff_sign[j]等于1),对应的色度滤波器系数具有负值。- otherwise (alf_cross_component_cb_coeff_sign[j] is equal to 1), the corresponding chroma filter coefficients have negative values.

当alf_cross_component_cb_coeff_sign[j]不存在时,推断其等于0。When alf_cross_component_cb_coeff_sign[j] does not exist, it is inferred to be equal to 0.

具有元素AlfCCCoeffCb[j],j=0..13的交叉分量Cb滤波器系数AlfCCCoeffcb如下导出:The cross component Cb filter coefficients AlfCCCoeffcb with elements AlfCCCoeffCb[j], j=0..13 are derived as follows:

AlfCCCoeffCb[j]=alf_cross_component_cb_coeff_abs[j]*(1-2*alf_cross_component_cb_coeff_sign[j])AlfCCCoeffCb[j]=alf_cross_component_cb_coeff_abs[j]*(1-2*alf_cross_component_cb_coeff_sign[j])

比特流符合性要求AlfCCCoeffcb[j],j=0..13的值应在-210-1至210-1的范围内(包括端值)。应当指出的是,在一些示例中,该范围可以取决于亮度/色度或其子集的位深度。Bitstream compliance requires AlfCCCoeffcb[j], the value of j=0..13 should be in the range -2 10 -1 to 2 10 -1 inclusive. It should be noted that in some examples, the range may depend on the bit depth of luma/chroma or a subset thereof.

alf_cross_component_cr_filter_signal_flag等于1指定发信号通知交叉分量Cr滤波器组。alf_cross_component_cb_filter_signal_flag等于0指定不发信号通知交叉分量Cr滤波器组。alf_cross_component_cr_filter_signal_flag equal to 1 specifies that the cross component Cr filter bank is signaled. alf_cross_component_cb_filter_signal_flag equal to 0 specifies that the cross component Cr filter bank is not signaled.

alf_cross_component_cr_min_eg_order_minus1加1指定用于交叉分量Cr滤波器系数信令的指数Golomb代码的最小阶数。alf_cross_component_cb_min_eg_order_minus1的值应在0至9的范围内(包括端值)。应当指出的是,在一些示例中,该范围可改变。alf_cross_component_cr_min_eg_order_minus1 plus 1 specifies the minimum order of exponential Golomb codes used for cross component Cr filter coefficient signaling. The value of alf_cross_component_cb_min_eg_order_minus1 should be in the range 0 to 9 inclusive. It should be noted that in some examples, this range may vary.

alf_cross_component_cr_eg_order_increase_flag[i]等于1指定用于交叉分量Cr滤波器系数信令的指数Golomb代码的最小阶数递增1。alf_cross_component_cr_eg_order_increase_flag[i] equal to 1 specifies that the minimum order of exponential Golomb codes used for cross component Cr filter coefficient signaling is incremented by 1.

alf_cross_component_cr_eg_order_increase_flag[i]等于0指定用于交叉分量Cr滤波器系数信令的指数Golomb代码的最小阶数不递增1。alf_cross_component_cr_eg_order_increase_flag[i] equal to 0 specifies that the minimum order of exponential Golomb codes used for cross component Cr filter coefficient signaling is not incremented by 1.

用于解码alf_cross_component_cb_coeff_delta_abs[j]的值的指数Golomb代码的阶数expGoOrderCr[i]如下导出:The order expGoOrderCr[i] of the exponential Golomb code used to decode the value of alf_cross_component_cb_coeff_delta_abs[j] is derived as follows:

expGoOrderCr[i]=(i==0?alf_cross_component_cr_min_eg_order_minus1+1:expGoOrderCr[i]=(i==0?alf_cross_component_cr_min_eg_order_minus1+1:

expGoOrderCrf i-1])+alf_cross_component_cr_eg_order_increase_flag[i]expGoOrderCrf i-1])+alf_cross_component_cr_eg_order_increase_flag[i]

alf_cross_component_cr_coeff_delta_abs[j]指定发信号通知的交叉分量Cr滤波器的第j个系数delta的绝对值。当alf_luma_cross component_cr_coeff_delta_abs[j]不存在时,推断其等于0。alf_cross_component_cr_coeff_delta_abs[j] specifies the absolute value of the jth coefficient delta of the signaled cross component Cr filter. When alf_luma_cross component_cr_coeff_delta_abs[j] does not exist, it is inferred to be equal to 0.

指数Golomb二值化uek(v)的阶数k如下导出:The order k of the exponential Golomb binarization uek(v) is derived as follows:

golombOrderIdxCr[]={0,1,2,1,0,1,2,2,2,2,2,1,2,1}golombOrderIdxCr[]={0,1,2,1,0,1,2,2,2,2,2,1,2,1}

k=expGoOrderCr[golombOrderIdxCr[j]]k=expGoOrderCr[golombOrderIdxCr[j]]

alf_cross_component_cr_coeff_sign[j]如下指定第j个交叉分量Cr滤波器系数的符号:alf_cross_component_cr_coeff_sign[j] specifies the sign of the jth cross component Cr filter coefficient as follows:

-如果alf_cross_component_cr_coeff_sign[j]等于0,则对应的色度滤波器系数具有正值。- If alf_cross_component_cr_coeff_sign[j] is equal to 0, the corresponding chroma filter coefficient has a positive value.

-否则(alf_cross_component_cr_coeff_sign[j]等于1),对应的色度滤波器系数具有负值。- otherwise (alf_cross_component_cr_coeff_sign[j] is equal to 1), the corresponding chroma filter coefficients have negative values.

当alf_cross_component_cr_coeff_sign[j]不存在时,推断其等于0。When alf_cross_component_cr_coeff_sign[j] does not exist, it is inferred to be equal to 0.

具有元素AlfCCCoeffCr[j],j=0..13的交叉分量Cr滤波器系数AlfCCCoeffCr如下导出:The cross component Cr filter coefficients AlfCCCoeff Cr with elements AlfCCCoeff Cr [j], j=0..13 are derived as follows:

AlfCCCoeffCr[j]=alf_cross_component_cr_coeff_abs[j]*(1-2*alf_cross_component_cr_coeff_sign[j])AlfCCCoeff Cr [j]=alf_cross_component_cr_coeff_abs[j]*(1-2*alf_cross_component_cr_coeff_sign[j])

比特流符合性要求AlfCCCoeffCr[j],j=0..13的值应在-210-1至210-1的范围内(包括端值)。应当指出的是,在一些示例中,该范围可以取决于亮度/色度或其子集的位深度。Bitstream compliance requires AlfCCCoeff Cr [j], the value of j=0..13 should be in the range -2 10 -1 to 2 10 -1 inclusive. It should be noted that in some examples, the range may depend on the bit depth of luma/chroma or a subset thereof.

在另一个示例中,可在切片标头中发送指向包含对应的滤波器系数数据的APS的一个或多个指针。表6至表7示出了根据该示例的可包括在用于发信号通知滤波器系数的切片标头中的语法示例。In another example, one or more pointers to APSs containing corresponding filter coefficient data may be sent in the slice header. Tables 6 to 7 show examples of syntax that may be included in a slice header for signaling filter coefficients according to this example.

Figure BDA0003427038460000451
Figure BDA0003427038460000451

表6Table 6

Figure BDA0003427038460000461
Figure BDA0003427038460000461

Figure BDA0003427038460000471
Figure BDA0003427038460000471

表7Table 7

对于表6至表7,在一个示例中,语义可以基于以下内容:For Tables 6 through 7, in one example, the semantics can be based on the following:

slice_cross_component_alf_cb_enabled_flag等于0指定不将交叉分量Cb滤波器应用于Cb颜色分量。slice_cross_component_alf cb_enabled flag等于1表明将交叉分量自适应环路滤波器应用于Cb颜色分量。slice_cross_component_alf_cb_enabled_flag equal to 0 specifies that the cross component Cb filter is not applied to the Cb color components. The slice_cross_component_alf cb_enabled flag equal to 1 indicates that the cross component adaptive loop filter is applied to the Cb color component.

slice_cross_component_alf_cr_enabled_flag等于0指定不将交叉分量Cr滤波器应用于Cr颜色分量。slice_cross_component_alf_cb_enabled_flag等于1表明将交叉分量自适应环路滤波器应用于Cr颜色分量。slice_cross_component_alf_cr_enabled_flag equal to 0 specifies that the cross component Cr filter is not applied to the Cr color components. slice_cross_component_alf_cb_enabled_flag equal to 1 indicates that the cross component adaptive loop filter is applied to the Cr color components.

slice_cross_component_alf_cb_aps_id指定切片的Cb颜色分量所标引的adaptation_parameter_set_id。当slice_cross_component_alf_cb_aps_id不存在时,推断其等于slice_alf_aps_id_luma[0]。具有等于slice_cross_component_alf_cb_aps_id的adaptation_parameter_set_id的ALF APS NAL单元的Temporalld应小于或等于编码切片NAL单元的Temporalld。slice_cross_component_alf_cb_aps_id specifies the adaptation_parameter_set_id indexed by the slice's Cb color component. When slice_cross_component_alf_cb_aps_id does not exist, it is inferred to be equal to slice_alf_aps_id_luma[0]. The Temporalld of an ALF APS NAL unit with an adaptation_parameter_set_id equal to slice_cross_component_alf_cb_aps_id shall be less than or equal to the Temporalld of the encoded slice NAL unit.

slice_cross_component_alf_cr_aps_id指定切片的Cr颜色分量所标引的adaptation_parameter_set_id。当slice_cross_component_alf_cr_aps_id不存在时,推断其等于slice_alf_aps_id_luma[0]。具有等于slice_cross_component_alf_cr_aps_id的adaptation_parameter_set_id的ALF APS NAL单元的Temporalld应小于或等于编码切片NAL单元的Temporalld。slice_cross_component_alf_cr_aps_id specifies the adaptation_parameter_set_id to which the Cr color component of the slice is indexed. When slice_cross_component_alf_cr_aps_id does not exist, it is inferred to be equal to slice_alf_aps_id_luma[0]. The Temporalld of an ALF APS NAL unit with an adaptation_parameter_set_id equal to slice_cross_component_alf_cr_aps_id shall be less than or equal to the Temporalld of the coded slice NAL unit.

slice_cross_component_alf_cb_log2_control_size_minus4如下指定以样本数量为单位的正方形块大小的值:slice_cross_component_alf_cb_log2_control_size_minus4 specifies the value of the square block size in number of samples as follows:

AlfCCSamplesCbW=AlfCCSamplesCbH=2(slice _cross_component_alf_cb_log2_control_size_minus4+4)AlfCCSamplesCbW=AlfCCSamplesCbH=2( slice_cross_component_alf_cb_log2_control_size_minus4 +4 )

slice_cross_component_alf_cb_log2_control_size_minus4应在0至3的范围内(包括端值)。slice_cross_component_alf_cb_log2_control_size_minus4 should be in the range 0 to 3 inclusive.

slice_cross_component_alf_cr_log2_control_size_minus4如下指定以样本数量为单位的正方形块大小的值:slice_cross_component_alf_cr_log2_control_size_minus4 specifies the value of the square block size in number of samples as follows:

AlfCCSamplesCrW=AlfCCSamplesCrH=2(slice _cross_component_alf_cb_log2_control_size_minus4+4)AlfCCSamplesCrW=AlfCCSamplesCrH=2( slice_cross_component_alf_cb_log2_control_size_minus4 +4 )

slice_cross_component_alf_cr_log2_control_size_minus4应在0至3的范围内(包括端值)。slice_cross_component_alf_cr_log2_control_size_minus4 should be in the range 0 to 3 inclusive.

alf_luma_filter_signal_flag等于1指定发信号通知亮度滤波器组。alf_luma_filter_signal_flag等于0指定不发信号通知亮度滤波器组。当alf_luma_filter_signal_flag不存在时,推断其等于0。alf_luma_filter_signal_flag equal to 1 specifies signaling of the luma filter bank. alf_luma_filter_signal_flag equal to 0 specifies that the luma filter bank is not signaled. When alf_luma_filter_signal_flag is not present, it is inferred to be equal to 0.

alf_chroma_filter_signal_flag等于1指定发信号通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不发信号通知色度滤波器。当alf_chroma_filter_signal_flag不存在时,推断其等于0。alf_chroma_filter_signal_flag equal to 1 specifies that the chroma filter is signaled. alf_chroma_filter_signal_flag equal to 0 specifies that the chroma filter is not signaled. When alf_chroma_filter_signal_flag is not present, it is inferred to be equal to 0.

alf_cross_component_cb_filter_signal_flag等于1指定发信号通知交叉分量Cb滤波器组。alf_cross_component_cb_filter_signal_flag等于0指定不发信号通知交叉分量Cb滤波器组。当alf_cross_component_cb_filter_signal_flag不存在时,推断其等于0。alf_cross_component_cb_filter_signal_flag equal to 1 specifies that the cross component Cb filter bank is signaled. alf_cross_component_cb_filter_signal_flag equal to 0 specifies that the cross component Cb filter bank is not signaled. When alf_cross_component_cb_filter_signal_flag is not present, it is inferred to be equal to 0.

alf_cross_component_cr_filter_signal_flag等于1指定发信号通知交叉分量Cr滤波器组。alf_cross_component_cb_filter_signal_flag等于0指定不发信号通知交叉分量Cr滤波器组。当alf_cross_component_cr_filter_signal_flag不存在时,推断其等于0。alf_cross_component_cr_filter_signal_flag equal to 1 specifies that the cross component Cr filter bank is signaled. alf_cross_component_cb_filter_signal_flag equal to 0 specifies that the cross component Cr filter bank is not signaled. When alf_cross_component_cr_filter_signal_flag is not present, it is inferred to be equal to 0.

alf_cross_component_cb_min_eg_order_minus1加1指定用于交叉分量Cb滤波器系数信令的指数Golomb代码的最小阶数。arf_cross_component_cb_min_eg_order_minus1的值应在0至9的范围内(包括端值)。应当指出的是,在一些示例中,该范围可改变。alf_cross_component_cb_min_eg_order_minus1 plus 1 specifies the minimum order of exponential Golomb codes used for cross component Cb filter coefficient signaling. The value of arf_cross_component_cb_min_eg_order_minus1 should be in the range 0 to 9 inclusive. It should be noted that in some examples, this range may vary.

alf_cross_component_cr_min_eg_order_minus1加1指定用于交叉分量Cr滤波器系数信令的指数Golomb代码的最小阶数。alf_cross_component_cb_min_eg_order_minus1的值应在0至9的范围内(包括端值)。应当指出的是,在一些示例中,该范围可改变。alf_cross_component_cr_min_eg_order_minus1 plus 1 specifies the minimum order of the exponential Golomb code used for cross component Cr filter coefficient signaling. The value of alf_cross_component_cb_min_eg_order_minus1 should be in the range 0 to 9 inclusive. It should be noted that in some examples, this range may vary.

alf_cross_component_cb_eg_order_increase_flag[i]等于1指定用于交叉分量Cb滤波器系数信令的指数Golomb代码的最小阶数递增1。alf_cross_component_cb_eg_order_increase_flag[i]等于0指定用于交叉分量Cb滤波器系数信令的指数Golomb代码的最小阶数不递增1。alf_cross_component_cb_eg_order_increase_flag[i] equal to 1 specifies that the minimum order of exponential Golomb codes used for cross component Cb filter coefficient signaling is incremented by 1. alf_cross_component_cb_eg_order_increase_flag[i] equal to 0 specifies that the minimum order of exponential Golomb codes used for cross component Cb filter coefficient signaling is not incremented by 1.

用于解码alf_cross_component_cb_coeff_delta_abs[j]的值的指数Golomb代码的阶数expGoOrderCb[i]如下导出:The order expGoOrderCb[i] of the exponential Golomb code used to decode the value of alf_cross_component_cb_coeff_delta_abs[j] is derived as follows:

expGoOrderCb[i]=(i==0?alf_cross_component_cb_min_eg_order_minus1+1:expGoOrderCb[i]=(i==0?alf_cross_component_cb_min_eg_order_minus1+1:

expGoOrderCb[i-1])+alf_cross_component_cb_eg_order_increase_flag[i]expGoOrderCb[i-1])+alf_cross_component_cb_eg_order_increase_flag[i]

alf_cross_component_cr_eg_order_increase_flag[i]等于1指定用于交叉分量Cr滤波器系数信令的指数Golomb代码的最小阶数递增1。alf_cross_component_cr_eg_order_increase_flag[i]等于0指定用于交叉分量Cr滤波器系数信令的指数Golomb代码的最小阶数不递增1。alf_cross_component_cr_eg_order_increase_flag[i] equal to 1 specifies that the minimum order of the exponential Golomb code used for cross component Cr filter coefficient signaling is incremented by 1. alf_cross_component_cr_eg_order_increase_flag[i] equal to 0 specifies that the minimum order of exponential Golomb codes used for cross component Cr filter coefficient signaling is not incremented by 1.

用于解码alf_cross_component_cb_coeff_delta_abs[j]的值的指数Golomb代码的阶数expGoOrderCr[i]如下导出:The order expGoOrderCr[i] of the exponential Golomb code used to decode the value of alf_cross_component_cb_coeff_delta_abs[j] is derived as follows:

expGoOrderCr[i]=(i==0?alf_cross_component_cr_min_eg_order_minus1+1:expGoOrderCr[i]=(i==0?alf_cross_component_cr_min_eg_order_minus1+1:

expGoOrderCr[i-1])+alf_cross_component_cr_eg_order_increase_flag[i]expGoOrderCr[i-1])+alf_cross_component_cr_eg_order_increase_flag[i]

alf_cross_component_cb_coeff_delta_abs[j]指定发信号通知的交叉分量Cb滤波器的第j个系数delta的绝对值。当alf_luma_cross_component_cb_coeff_delta_abs[j]不存在时,推断其等于0。alf_cross_component_cb_coeff_delta_abs[j] specifies the absolute value of the jth coefficient delta of the signaled cross component Cb filter. When alf_luma_cross_component_cb_coeff_delta_abs[j] does not exist, it is inferred to be equal to 0.

指数Golomb二值化uek(v)的阶数k如下导出:The order k of the exponential Golomb binarization uek(v) is derived as follows:

golombOrderIdxCb[]={0,2,2,2,1,2,2,2,2,2,2,1,2,1}[这些可以将系数分类为3个类别,每个类别使用相同的k阶指数Golomb代码]golombOrderIdxCb[]={0,2,2,2,1,2,2,2,2,2,2,1,2,1}[These can classify the coefficients into 3 categories, each using the same k-order exponential Golomb code]

k=expGoOrderCb[golombOrderIdxCb[j]]k=expGoOrderCb[golombOrderIdxCb[j]]

alf_cross_component_cr_coeff_delta_abs[j]指定发信号通知的交叉分量Cr滤波器的第j个系数delta的绝对值。当alf_luma_cross_component_cr_coeff_delta_abs[j]不存在时,推断其等于0。alf_cross_component_cr_coeff_delta_abs[j] specifies the absolute value of the jth coefficient delta of the signaled cross component Cr filter. When alf_luma_cross_component_cr_coeff_delta_abs[j] does not exist, it is inferred to be equal to 0.

指数Golomb二值化uek(v)的阶数k如下导出:The order k of the exponential Golomb binarization uek(v) is derived as follows:

golombOrderIdxCr[]={0,1,2,1,0,1,2,2,2,2,2,1,2,1[这些可以将系数分类为3个类别,每个类别使用相同的k阶指数Golomb代码]golombOrderIdxCr[] = {0,1,2,1,0,1,2,2,2,2,2,1,2,1 [These can classify the coefficients into 3 classes, each using the same k order index Golomb code]

k=expGoOrderCr[golombOrderldxCr[j]]k=expGoOrderCr[golombOrderldxCr[j]]

alf_cross_component_cb_coeff_sign[j]如下指定第j个交叉分量Cb滤波器系数的符号:alf_cross_component_cb_coeff_sign[j] specifies the sign of the jth cross component Cb filter coefficient as follows:

-如果alf_cross_component_cb_coeff_sign[j]等于0,则对应的交叉分量Cb滤波器系数具有正值。- If alf_cross_component_cb_coeff_sign[j] is equal to 0, the corresponding cross component Cb filter coefficient has a positive value.

-否则(alf_cross_component_cb_coeff_sign[j]等于1),对应的交叉分量Cb滤波器系数具有负值。- otherwise (alf_cross_component_cb_coeff_sign[j] is equal to 1), the corresponding cross component Cb filter coefficient has a negative value.

当alf_cross_component_cb_coeff_sign[j]不存在时,推断其等于0。When alf_cross_component_cb_coeff_sign[j] does not exist, it is inferred to be equal to 0.

具有元素AlfCCCoeffcb[adaptation_parameter_set__id][j],j=0..13的交叉分量Cb滤波器系数AlfCCCoeffcb[adaptation_parameter_set_id]如下导出:The cross component Cb filter coefficients AlfCCCoeff cb [adaptation_parameter_set_id] with elements AlfCCCoeff cb [adaptation_parameter_set__id][j], j=0..13 are derived as follows:

AlfCCCoeffcb[adaptation_parameter_set_id][j]=alf_cross_component_cb_coeff_abs[j]*(1-2*alf_cross_component_cb_coeff_sign[j])AlfCCCoeff cb [adaptation_parameter_set_id][j]=alf_cross_component_cb_coeff_abs[j]*(1-2*alf_cross_component_cb_coeff_sign[j])

比特流符合性要求AlfCCCoeffcb[adaptation_parameter_set_id][j],j=0..13的值应在-210-1至210-1的范围内(包括端值)。Bitstream compliance requires AlfCCCoeff cb [adaptation_parameter_set_id][j], the value of j=0..13 should be in the range -2 10 -1 to 2 10 -1 inclusive.

alf_cross_component_cr_coeff sign[j]如下指定第j个交叉分量Cr滤波器系数的符号:alf_cross_component_cr_coeff sign[j] specifies the sign of the jth cross component Cr filter coefficient as follows:

-如果alf_cross_component_cr_coeff_sign[j]等于0,则对应的交叉分量Cr滤波器系数具有正值。- If alf_cross_component_cr_coeff_sign[j] is equal to 0, the corresponding cross component Cr filter coefficient has a positive value.

-否则(alf_cross_component_cr_coeff_sign[j]等于1),对应的交叉分量Cr滤波器系数具有负值。- otherwise (alf_cross_component_cr_coeff_sign[j] is equal to 1), the corresponding cross component Cr filter coefficient has a negative value.

当alf_cross_component_cr_coeff_sign[j]不存在时,推断其等于0。When alf_cross_component_cr_coeff_sign[j] does not exist, it is inferred to be equal to 0.

具有元素AlfCCCoeffCr[adaptation_parameter_set_id][j],j=0..13的交叉分量Cr滤波器系数AlfCCCoeffcr[adaptation_parameter_set_id]如下导出:The cross-component Cr filter coefficients AlfCCCoeff cr [adaptation_parameter_set_id] with elements AlfCCCoeff Cr [adaptation_parameter_set_id][j], j=0..13 are derived as follows:

AlfCCCoeffCr[adaptation_parameter_set_id][j]=alf_cross_component_cr_coeff_abs[j]*(1-2*alf_cross_component_cr_coeff_sign[j])AlfCCCoeff Cr [adaptation_parameter_set_id][j]=alf_cross_component_cr_coeff_abs[j]*(1-2*alf_cross_component_cr_coeff_sign[j])

比特流符合性要求AlfCCCoeffCr[adaptation_parameter_set_id][j],j=0..13的值应在-210-1至210-1的范围内(包括端值)。Bitstream compliance requires AlfCCCoeff Cr [adaptation_parameter_set_id][j], the value of j=0..13 should be in the range -2 10 -1 to 2 10 -1 inclusive.

应当指出的是,-210-1至210-1的范围可改变。应当指出的是,在一些示例中,该范围可以取决于亮度/色度或其子集的位深度。It should be noted that the range of -2 10 -1 to 2 10 -1 can vary. It should be noted that in some examples, the range may depend on the bit depth of luma/chroma or a subset thereof.

对于表6,在一个示例中,可以使用表8A中提供的alf_data()语法结构。For Table 6, in one example, the alf_data( ) syntax structure provided in Table 8A can be used.

Figure BDA0003427038460000521
Figure BDA0003427038460000521

表8ATable 8A

对于表8A,在一个示例中,语义可以基于以下内容:For Table 8A, in one example, the semantics can be based on the following:

alf_luma_filter_signal_flag等于1指定发信号通知亮度滤波器组。alf_luma_filter_signal_flag等于0指定不发信号通知亮度滤波器组。当alf_luma_filter_signal_flag不存在时,推断其等于0。alf_luma_filter_signal_flag equal to 1 specifies signaling of the luma filter bank. alf_luma_filter_signal_flag equal to 0 specifies that the luma filter bank is not signaled. When alf_luma_filter_signal_flag is not present, it is inferred to be equal to 0.

alf_chroma_filter_signal_flag等于1指定发信号通知色度滤波器。alf_chroma_filter_signal_flag等于0指定不发信号通知色度滤波器。当alf_chroma_filter_signal_flag不存在时,推断其等于0。alf_chroma_filter_signal_flag equal to 1 specifies that the chroma filter is signaled. alf_chroma_filter_signal_flag equal to 0 specifies that the chroma filter is not signaled. When alf_chroma_filter_signal_flag is not present, it is inferred to be equal to 0.

alf_cross_component_cb_filter_signal_flag等于1指定发信号通知交叉分量Cb滤波器组。alf_cross_component_cb_filter_signal_flag等于0指定不发信号通知交叉分量Cb滤波器组。当alf_cross_component_cb_filter_signal_flag不存在时,推断其等于0。alf_cross_component_cb_filter_signal_flag equal to 1 specifies that the cross component Cb filter bank is signaled. alf_cross_component_cb_filter_signal_flag equal to 0 specifies that the cross component Cb filter bank is not signaled. When alf_cross_component_cb_filter_signal_flag is not present, it is inferred to be equal to 0.

alf_cross_component_cr_filter_signal_flag等于1指定发信号通知交叉分量Cr滤波器组。alf_cross_component_cb_filter_signal_flag等于0指定不发信号通知交叉分量Cr滤波器组。当alf_cross_component_cr_filter_signal_flag不存在时,推断其等于0。alf_cross_component_cr_filter_signal_flag equal to 1 specifies that the cross component Cr filter bank is signaled. alf_cross_component_cb_filter_signal_flag equal to 0 specifies that the cross component Cr filter bank is not signaled. When alf_cross_component_cr_filter_signal_flag is not present, it is inferred to be equal to 0.

alf_cross_component_cb_min_eg_order_minus1加1指定用于交叉分量Cb滤波器系数信令的指数Golomb代码的最小阶数。alf_cross_component_cb_min_eg_order_minus1的值应在0至9的范围内(包括端值)。应当指出的是,在一些示例中,该范围可改变。alf_cross_component_cb_min_eg_order_minus1 plus 1 specifies the minimum order of exponential Golomb codes used for cross component Cb filter coefficient signaling. The value of alf_cross_component_cb_min_eg_order_minus1 should be in the range 0 to 9 inclusive. It should be noted that in some examples, this range may vary.

alf_cross_component_cr_min_eg_order_minus1加1指定用于交叉分量Cr滤波器系数信令的指数Golomb代码的最小阶数。alf_cross_component_cb_min_eg_order_minus1的值应在0至9的范围内(包括端值)。应当指出的是,在一些示例中,该范围可改变。alf_cross_component_cr_min_eg_order_minus1 plus 1 specifies the minimum order of the exponential Golomb code used for cross component Cr filter coefficient signaling. The value of alf_cross_component_cb_min_eg_order_minus1 should be in the range 0 to 9 inclusive. It should be noted that in some examples, this range may vary.

alf_cross_component_cb_eg_order_increase_flag[i]等于1指定用于交叉分量Cb滤波器系数信令的指数Golomb代码的最小阶数递增1。alf_cross_component_cb_eg_order_increase_flag[i]等于0指定用于交叉分量Cb滤波器系数信令的指数Golomb代码的最小阶数不递增1。alf_cross_component_cb_eg_order_increase_flag[i] equal to 1 specifies that the minimum order of exponential Golomb codes used for cross component Cb filter coefficient signaling is incremented by 1. alf_cross_component_cb_eg_order_increase_flag[i] equal to 0 specifies that the minimum order of exponential Golomb codes used for cross component Cb filter coefficient signaling is not incremented by 1.

用于解码alf_cross_component_cb_coeff_abs[j]的值的指数Golomb代码的阶数expGoOrderCb[i]如下导出:The order expGoOrderCb[i] of the exponential Golomb code used to decode the value of alf_cross_component_cb_coeff_abs[j] is derived as follows:

expGoOrderCb[i]=(i==0?alf_cross_component_cb_min_eg_order_minus1+1:expGoOrderCb[i-1])+alf_cross_component_cb_eg_order_increase_flag[i]expGoOrderCb[i]=(i==0?alf_cross_component_cb_min_eg_order_minus1+1:expGoOrderCb[i-1])+alf_cross_component_cb_eg_order_increase_flag[i]

在一个示例中,可以使用对应于用于交叉分量Cb滤波器系数信令的指数Golomb代码的最小阶数的预先确定的值。In one example, a predetermined value corresponding to the minimum order of the exponential Golomb code used for cross component Cb filter coefficient signaling may be used.

在一个示例中,可以在比特流中发信号通知对应于用于所有Cb滤波器系数的交叉分量的指数Golomb代码的最小阶数的单个值。In one example, a single value corresponding to the minimum order of the exponential Golomb code for the cross components of all Cb filter coefficients may be signaled in the bitstream.

alf_cross_component_cr_eg_order_increase_flag[i]等于1指定用于交叉分量Cr滤波器系数信令的指数Golomb代码的最小阶数递增1。alf_cross_component_cr_eg_order_increase_flag[i]等于0指定用于交叉分量Cr滤波器系数信令的指数Golomb代码的最小阶数不递增1。alf_cross_component_cr_eg_order_increase_flag[i] equal to 1 specifies that the minimum order of the exponential Golomb code used for cross component Cr filter coefficient signaling is incremented by 1. alf_cross_component_cr_eg_order_increase_flag[i] equal to 0 specifies that the minimum order of exponential Golomb codes used for cross component Cr filter coefficient signaling is not incremented by 1.

用于解码alf_cross_component_cb_coeff_abs[j]的值的指数Golomb代码的阶数expGoOrderCr[i]如下导出:The order expGoOrderCr[i] of the exponential Golomb code used to decode the value of alf_cross_component_cb_coeff_abs[j] is derived as follows:

expGoOrderCr[i]=(i==0?alf_cross_component_cr_min_eg_order_minus1+1:expGoOrderCr[i]=(i==0?alf_cross_component_cr_min_eg_order_minus1+1:

expGoOrderCr[i-1])+alf_cross_component_cr_cg order_increase_flag[i]expGoOrderCr[i-1])+alf_cross_component_cr_cg order_increase_flag[i]

在一个示例中,使用对应于用于交叉分量Cr滤波器系数信令的指数Golomb代码的最小阶数的预先确定的值。In one example, a predetermined value corresponding to the minimum order of the exponential Golomb code used for the signalling of the cross-component Cr filter coefficients is used.

在一个示例中,在比特流中发信号通知对应于用于所有Cr滤波器系数的交叉分量的指数Golomb代码的最小阶数的单个值。In one example, a single value corresponding to the smallest order of the exponential Golomb code for the cross components of all Cr filter coefficients is signaled in the bitstream.

alf_cross_component_cb_coeff_abs[j]指定发信号通知的交叉分量Cb滤波器的第j个系数的绝对值。当alf_cross_component_cb_coeff_abs[j]不存在时,推断其等于0。alf_cross_component_cb_coeff_abs[j] specifies the absolute value of the jth coefficient of the signaled cross component Cb filter. When alf_cross_component_cb_coeff_abs[j] does not exist, it is inferred to be equal to 0.

指数Golomb二值化uek(v)的阶数k如下导出:The order k of the exponential Golomb binarization uek(v) is derived as follows:

golombOrderIdxCb[]={0,2,2,2,1,2,2,2,2,2,2,1,2,1}[这些可以将系数分类为3个类别,每个类别使用相同的k阶指数Golomb代码]golombOrderIdxCb[]={0,2,2,2,1,2,2,2,2,2,2,1,2,1}[These can classify the coefficients into 3 categories, each using the same k-order exponential Golomb code]

k=expGoOrderCb[golombOrderIdxCb[j]]k=expGoOrderCb[golombOrderIdxCb[j]]

在一个示例中,ue(v)编码可用于发信号通知语法元素alf_cross_component_cb_coeff_abs[j]的值。In one example, ue(v) encoding may be used to signal the value of the syntax element alf_cross_component_cb_coeff_abs[j].

alf_cross_component_cr_coeff_abs[j]指定发信号通知的交叉分量Cr滤波器的第j个系数的绝对值。当alf_cross_component_cr_coeff_abs[j]不存在时,推断其等于0。alf_cross_component_cr_coeff_abs[j] specifies the absolute value of the jth coefficient of the signaled cross component Cr filter. When alf_cross_component_cr_coeff_abs[j] does not exist, it is inferred to be equal to 0.

指数Golomb二值化uek(v)的阶数k如下导出:The order k of the exponential Golomb binarization uek(v) is derived as follows:

golombOrderIdxCr[]={0,1,2,1,0,1,2,2,2,2,2,1,2,1}[这些可以将系数分类为3个类别,每个类别使用相同的k阶指数Golomb代码]golombOrderIdxCr[]={0,1,2,1,0,1,2,2,2,2,2,1,2,1}[These can classify the coefficients into 3 categories, each using the same k-order exponential Golomb code]

k=expGoOrderCr[golombOrderIdxCr[j]]k=expGoOrderCr[golombOrderIdxCr[j]]

在一个示例中,ue(v)编码用于发信号通知语法元素alf_cross_component_cr_coeff_abs[j]的值。In one example, the ue(v) encoding is used to signal the value of the syntax element alf_cross_component_cr_coeff_abs[j].

alf_cross_component_cb_coeff_sign[j]如下指定第j个交叉分量Cb滤波器系数的符号:alf_cross_component_cb_coeff_sign[j] specifies the sign of the jth cross component Cb filter coefficient as follows:

-如果alf_cross_component_cb_coeff_sign[j]等于0,则对应的交叉分量Cb滤波器系数具有正值。- If alf_cross_component_cb_coeff_sign[j] is equal to 0, the corresponding cross component Cb filter coefficient has a positive value.

-否则(alf_cross_component_cb_coeff_sign[j]等于1),对应的交叉分量Cb滤波器系数具有负值。- otherwise (alf_cross_component_cb_coeff_sign[j] is equal to 1), the corresponding cross component Cb filter coefficient has a negative value.

当alf_cross_component_cb_coeff_sign[j]不存在时,推断其等于0。When alf_cross_component_cb_coeff_sign[j] does not exist, it is inferred to be equal to 0.

具有元素AlfCCCoeffCb[adaptation_parameter_set_id][j],j=0..13的交叉分量Cb滤波器系数AlfCCCoeffcb[adaptation_parameter_set_id]如下导出:The cross component Cb filter coefficients AlfCCCoeff cb [adaptation_parameter_set_id] with elements AlfCCCoeff Cb [adaptation_parameter_set_id][j], j=0..13 are derived as follows:

AlfCCCoeffcb[adaptation_parameter_set_id][j]=alf_cross_component_cb_coeff_abs[j]*(1-2*alf_cross_component_cb_coeff_sign[j])AlfCCCoeff cb [adaptation_parameter_set_id][j]=alf_cross_component_cb_coeff_abs[j]*(1-2*alf_cross_component_cb_coeff_sign[j])

比特流符合性要求AlfCCCoeffcb[adaptation_parameter_set_id][j],j=0..13的值应在-210-1至210-1的范围内(包括端值)。Bitstream compliance requires AlfCCCoeff cb [adaptation_parameter_set_id][j], the value of j=0..13 should be in the range -2 10 -1 to 2 10 -1 inclusive.

alf_cross_component_cr_coeff_sign[j]如下指定第j个交叉分量Cr滤波器系数的符号:alf_cross_component_cr_coeff_sign[j] specifies the sign of the jth cross component Cr filter coefficient as follows:

-如果alf_cross_component_cr_coeff_sign[j]等于0,则对应的交叉分量Cr滤波器系数具有正值。- If alf_cross_component_cr_coeff_sign[j] is equal to 0, the corresponding cross component Cr filter coefficient has a positive value.

-否则(alf_cross_component_cr_coeff_sign[j]等于1),对应的交叉分量Cr滤波器系数具有负值。- otherwise (alf_cross_component_cr_coeff_sign[j] is equal to 1), the corresponding cross component Cr filter coefficient has a negative value.

当alf_cross_component_cr_coeff_sign[j]不存在时,推断其等于0。When alf_cross_component_cr_coeff_sign[j] does not exist, it is inferred to be equal to 0.

具有元素AlfCCCoeffCr[adaptation_parameter_set_id][j],j=0..13的交叉分量Cr滤波器系数AlfCCCoeffcr[adaptation_parameter_set_id]如下导出:The cross-component Cr filter coefficients AlfCCCoeff cr [adaptation_parameter_set_id] with elements AlfCCCoeff Cr [adaptation_parameter_set_id][j], j=0..13 are derived as follows:

AlfCCCoeffCr[adaptation_parameter_set_id][j]=alf_cross_component_cr_coeff_abs[j]*(1-2*alf_cross_component_cr_coeff_sign[j])AlfCCCoeff Cr [adaptation_parameter_set_id][j]=alf_cross_component_cr_coeff_abs[j]*(1-2*alf_cross_component_cr_coeff_sign[j])

比特流符合性要求AlfCCCoeffCr[adaptation_parameter_set_id][j],j=0..13的值应在-210-1至210-1的范围内(包括端值)。Bitstream compliance requires AlfCCCoeff Cr [adaptation_parameter_set_id][j], the value of j=0..13 should be in the range -2 10 -1 to 2 10 -1 inclusive.

在一个示例中,可以使用表8B中提供的alf_data()语法结构。应当指出的是,在表8B中,当在APS中发信号通知系数时,使用minus1编码发信号通知滤波器的数量。In one example, the alf_data( ) syntax structure provided in Table 8B may be used. It should be noted that in Table 8B, the number of filters is signaled using minus1 encoding when signaling the coefficients in the APS.

Figure BDA0003427038460000571
Figure BDA0003427038460000571

Figure BDA0003427038460000581
Figure BDA0003427038460000581

表8BTable 8B

对于表8B,在一个示例中,语义可以基于以下内容:For Table 8B, in one example, the semantics may be based on the following:

alf_cross_component_cb_filter_signal_flag等于1指定发信号通知交叉分量Cb滤波器组。alf_cross_component_cb_filter_signal_flag等于0指定不发信号通知交叉分量Cb滤波器组。当alf_cross_component_cb_filter_signal_flag不存在时,推断其等于0。alf_cross_component_cb_filter_signal_flag equal to 1 specifies that the cross component Cb filter bank is signaled. alf_cross_component_cb_filter_signal_flag equal to 0 specifies that the cross component Cb filter bank is not signaled. When alf_cross_component_cb_filter_signal_flag is not present, it is inferred to be equal to 0.

alf_cross_component_cr_filter_signal_flag等于1指定发信号通知交叉分量Cr滤波器组。alf_cross_component_cb_filter_signal_flag等于0指定不发信号通知交叉分量Cr滤波器组。当alf_cross_component_cr_filter_signal_flag不存在时,推断其等于0。alf_cross_component_cr_filter_signal_flag equal to 1 specifies that the cross component Cr filter bank is signaled. alf_cross_component_cb_filter_signal_flag equal to 0 specifies that the cross component Cr filter bank is not signaled. When alf_cross_component_cr_filter_signal_flag is not present, it is inferred to be equal to 0.

alf_cross_component_cb_filters_signalled_minus1加1指定发信号通知其系数的交叉分量Cb滤波器组的数量。alf_cross_component_cb_filters_signalled_minus1的值应在0至NumCcAlfCbFilters-1的范围内(包括端值)。alf_cross_component_cb_filters_signalled_minus1 plus 1 specifies the number of cross component Cb filter banks whose coefficients are signaled. The value of alf_cross_component_cb_filters_signalled_minus1 should be in the range 0 to NumCcAlfCbFilters-1 (inclusive).

NumCcAlfCbFilters表示视频序列中允许的交叉分量Cb滤波器组的最大数量。在一个示例中,NumCcAlfCbFilters可被设定为预先确定的非负整数值。在一个示例中,在例如SPS、PPS的参数集中发信号通知NumCcAlfCbFilters。NumCcAlfCbFilters represents the maximum number of cross component Cb filter banks allowed in the video sequence. In one example, NumCcAlfCbFilters may be set to a predetermined non-negative integer value. In one example, NumCcAlfCbFilters is signaled in a parameter set such as SPS, PPS.

alf_cross_component_cb_min_eg_order_minus1[k]加1指定用于第k个交叉分量Cb滤波器系数组信令的指数Golomb代码的最小阶数。alf_cross_component_cb_min_eg_order_minus1[k]的值应在0至9的范围内(包括端值)。alf_cross_component_cb_min_eg_order_minus1[k] plus 1 specifies the minimum order of the exponential Golomb code used for the signaling of the kth cross component Cb filter coefficient group. The value of alf_cross_component_cb_min_eg_order_minus1[k] should be in the range 0 to 9 inclusive.

alf_cross_component_cb_eg_order_increase_flag[k][i]等于1指定用于第k个交叉分量Cb滤波器系数组信令的指数Golomb代码的最小阶数递增1。alf_cross_component_cb_eg_order_increase_flag[k][i]等于0指定用于第k个交叉分量Cb滤波器系数组信令的指数Golomb代码的最小阶数不递增1。alf_cross_component_cb_eg_order_increase_flag[k][i] equal to 1 specifies that the minimum order of the exponential Golomb code used for the signaling of the k-th cross component Cb filter coefficient group is incremented by 1. alf_cross_component_cb_eg_order_increase_flag[k][i] equal to 0 specifies that the minimum order of the exponential Golomb code used for the signaling of the k-th cross component Cb filter coefficient group is not incremented by one.

用于解码alf_cross_component_cb_coeff_abs[k][j]的值的指数Golomb代码的阶数expGoOrderCb[k][i]如下导出:The order expGoOrderCb[k][i] of the exponential Golomb code used to decode the value of alf_cross_component_cb_coeff_abs[k][j] is derived as follows:

expGoOrderCb[k][i]=(i==0?alf_cross_component_cb_min_eg_order_minus1[k]+1:expGoOrderCbf k][i-1])+alf_cross_component_cb_eg_order_increase_flag[k][i]expGoOrderCb[k][i]=(i==0?alf_cross_component_cb_min_eg_order_minus1[k]+1:expGoOrderCbf k][i-1])+alf_cross_component_cb_eg_order_increase_flag[k][i]

alf_cross_component_cb_coeff_abs[k][j]指定发信号通知的第k个交叉分量Cb滤波器组的第j个系数的绝对值。当alf cross component_cb_coeff_abs[k][j]不存在时,推断其等于0。alf_cross_component_cb_coeff_abs[k][j] specifies the absolute value of the jth coefficient of the signaled kth cross component Cb filterbank. When alf cross component_cb_coeff_abs[k][j] does not exist, it is inferred to be equal to 0.

指数Golomb二值化uek(v)的阶数k如下导出:The order k of the exponential Golomb binarization uek(v) is derived as follows:

golombOrderIdxCb[]={0,2,2,2,1,2,2,2,2,2,2,1,2,1}[注意,这些可以将系数分类为3个类别,每个类别使用相同的阶数1指数Golomb代码]golombOrderIdxCb[]={0,2,2,2,1,2,2,2,2,2,2,1,2,1}[note that these can classify the coefficients into 3 categories, each using Same order 1 exponential Golomb code]

k=expGoOrderCb(golombOrderIdxCb[j]]k=expGoOrderCb(golombOrderIdxCb[j]]

alf_cross_component_cb_coeff_sign[k][j]如下指定第k个交叉分量Cb滤波器系数组的第j个系数的符号:alf_cross_component_cb_coeff_sign[k][j] specifies the sign of the jth coefficient of the kth cross component Cb filter coefficient group as follows:

-如果alf_cross_component_cb_coeff_sign[k][j]等于0,则对应的交叉分量Cb滤波器系数具有正值。- If alf_cross_component_cb_coeff_sign[k][j] is equal to 0, the corresponding cross component Cb filter coefficient has a positive value.

-否则(alf_cross_component cb_coeff_sign[k][j]等于1),对应的交叉分量Cb滤波器系数具有负值。- otherwise (alf_cross_component cb_coeff_sign[k][j] is equal to 1), the corresponding cross component Cb filter coefficient has a negative value.

当alf_cross_component_cb_coeff_sign[k][j]不存在时,推断其等于0。When alf_cross_component_cb_coeff_sign[k][j] does not exist, it is inferred to be equal to 0.

具有元素AlfCCCoeffcb[adaptation_parameter_set_id][k][j],j=0..13的交叉分量Cb滤波器系数AlfCCCoeffcb[adaptation_parameter_set_id][k]如下导出:The cross component Cb filter coefficients AlfCCCoeff cb [adaptation_parameter_set_id][k] with elements AlfCCCoeff cb [adaptation_parameter_set_id][k][j], j=0..13 are derived as follows:

AlfCCCoeffcb[adaptation_parameter_set_id][k][j]=alf_cross_component_cb_coeff_abs[k][j]*(1-2*alf_cross_component_cb_coeff_sign[k][j])AlfCCCoeff cb [adaptation_parameter_set_id][k][j]=alf_cross_component_cb_coeff_abs[k][j]*(1-2*alf_cross_component_cb_coeff_sign[k][j])

比特流符合性要求AlfCCCoeffcb[adaptation parameier_set_id][k][j],j=0..13的值应在-27至27-1(包括端值)的范围内。Bitstream compliance requirements AlfCCCoeff cb [adaptation parameier_set_id][k][j], the value of j=0..13 shall be in the range -2 7 to 2 7 -1 inclusive.

alf_cross_component_cr_fllters_signalled_minus1加1指定发信号通知其系数的交叉分量Cr滤波器组的数量。alf_cross_component_cr_filters_signalled_minus1的值应在0至NumCcAlfCrFilters-1的范围内(包括端值)。alf_cross_component_cr_fllters_signalled_minus1 plus 1 specifies the number of cross component Cr filterbanks whose coefficients are signaled. The value of alf_cross_component_cr_filters_signalled_minus1 should be in the range 0 to NumCcAlfCrFilters-1 inclusive.

NumCcAlfCrFilters表示视频序列中允许的交叉分量Cr滤波器组的最大数量。在一个示例中,可将NumCcAlfCrFilters设置为预先确定的非负整数值。在一个示例中,在例如SPS、PPS的参数集中发信号通知NumCcAlfCrFilters。NumCcAlfCrFilters represents the maximum number of cross component Cr filter banks allowed in the video sequence. In one example, NumCcAlfCrFilters may be set to a predetermined non-negative integer value. In one example, NumCcAlfCrFilters is signaled in a parameter set such as SPS, PPS.

alf_cross_component_cr_min_eg_order_minus1[k]加1指定用于第k个交叉分量Cr滤波器系数组信令的指数Golomb代码的最小阶数。alf_cross_component_cb_min_eg_order minus1[k]的值应在0至9的范围内(包括端值)。alf_cross_component_cr_min_eg_order_minus1[k] plus 1 specifies the minimum order of the exponential Golomb code used for the signaling of the kth cross component Cr filter coefficient group. The value of alf_cross_component_cb_min_eg_order minus1[k] should be in the range 0 to 9 inclusive.

alf_cross_component_cr_eg_order_increase_flag[k][i]等于1指定用于第k个交叉分量Cr滤波器系数组信令的指数Golomb代码的最小阶数递增1。alf_cross_component_cr_eg_order_increase_flag[k][i]等于0指定用于第k个交叉分量Cr滤波器系数组信令的指数Golomb代码的最小阶数不递增1。alf_cross_component_cr_eg_order_increase_flag[k][i] equal to 1 specifies that the minimum order of the exponential Golomb code used for the signalling of the k-th cross component Cr filter coefficient group is incremented by 1. alf_cross_component_cr_eg_order_increase_flag[k][i] equal to 0 specifies that the minimum order of the exponential Golomb code used for the signaling of the k-th cross component Cr filter coefficient group is not incremented by 1.

用于解码alf_cross_component_cb_coeff_abs[k][j]的值的指数Golomb代码的阶数expGoOrderCr[k][i]如下导出:The order expGoOrderCr[k][i] of the exponential Golomb code used to decode the value of alf_cross_component_cb_coeff_abs[k][j] is derived as follows:

expGoOrderCr[k][i]=(i==0?alf_cross_component_cr_min_eg_order_minus1[k]+1:expGoOrderCr[k][i-1])+alf_cross_component_cr_eg_order_increase_flag[k][i]expGoOrderCr[k][i]=(i==0?alf_cross_component_cr_min_eg_order_minus1[k]+1:expGoOrderCr[k][i-1])+alf_cross_component_cr_eg_order_increase_flag[k][i]

alf_cross_component_cr_coeff_abs[k][j]指定发信号通知的第k个交叉分量Cr滤波器组的第j个系数的绝对值。当alf_cross_component_cr_coeff_abs[k][j]不存在时,推断其等于0。alf_cross_component_cr_coeff_abs[k][j] specifies the absolute value of the jth coefficient of the signaled kth cross component Cr filterbank. When alf_cross_component_cr_coeff_abs[k][j] does not exist, it is inferred to be equal to 0.

指数Golomb二值化uek(v)的阶数k如下导出:The order k of the exponential Golomb binarization uek(v) is derived as follows:

golombOrderIdxCr[]={0,1,2,1,0,1,2,2,2,2,2,1,2,1}[注意,这些可以将系数分类为3个类别,每个类别使用相同的k阶指数Golomb代码]golombOrderIdxCr[]={0,1,2,1,0,1,2,2,2,2,2,1,2,1}[Note that these can classify the coefficients into 3 categories, each using Same k-order exponential Golomb code]

k=expGoOrderCr[golombOrderIdxCr[j]]k=expGoOrderCr[golombOrderIdxCr[j]]

alf_cross_component_cr_coeff_slgn[k][i]如下指定第k个交叉分量Cr滤波器系数组的第j个系数的符号:alf_cross_component_cr_coeff_slgn[k][i] specifies the sign of the jth coefficient of the kth cross component Cr filter coefficient group as follows:

-如果alf_cross_component_cr_coeff_sign[k][j]等于0,则对应的交叉分量Cr滤波器系数具有正值。- If alf_cross_component_cr_coeff_sign[k][j] is equal to 0, the corresponding cross component Cr filter coefficient has a positive value.

-否则(alf_cross_component_cr_coeff_sign[k][j]等于1),对应的交叉分量Cr滤波器系数具有负值。- otherwise (alf_cross_component_cr_coeff_sign[k][j] is equal to 1), the corresponding cross component Cr filter coefficient has a negative value.

当alf_cross_component_cr_coeff_sign[k][j]不存在时,推断其等于0。When alf_cross_component_cr_coeff_sign[k][j] does not exist, it is inferred to be equal to 0.

具有元素AlfCCCoeffCr[adaptation_parameter_set_id][k][j],j=0..13的交叉分量Cr滤波器系数AlfCCCoeffCr[adaptation_parameter_set_id][k]如下导出:The cross component Cr filter coefficients AlfCCCoeff Cr [adaptation_parameter_set_id][k] with elements AlfCCCoeff Cr [adaptation_parameter_set_id][k][j], j=0..13 are derived as follows:

AlfCCCoeffCr[adaptation_parameter_set_id][k][j]=alf_cross_component_cr_coeff_abs[k][j]*(1-2*alf_cross_componcnt_cr coeff_sign[k][j])AlfCCCoeff Cr [adaptation_parameter_set_id][k][j]=alf_cross_component_cr_coeff_abs[k][j]*(1-2*alf_cross_componcnt_cr coeff_sign[k][j])

比特流符合性要求AlfCCCoeffCr[adaptation_parameter_set_id][k][j],j=0..13的值应在-27至27-1的范围内(包括端值)。Bitstream compliance requires AlfCCCoeff Cr [adaptation_parameter_set_id][k][j], the value of j=0..13 should be in the range -2 7 to 2 7 -1 inclusive.

对于表8B,在一个示例中,对于语法元素alf_cross_component_cb_coeff_abs[k][i]和alf_cross_component_cr_coeff_abs[k][i],表示k阶指数golomb编码的uek(v)的k可以对应于预先确定的值。因此,不必在比特流中发信号通知“k”。在一个示例中,在这种情况下,可以使用表8C中提供的alf_data()语法结构。For Table 8B, in one example, for syntax elements alf_cross_component_cb_coeff_abs[k][i] and alf_cross_component_cr_coeff_abs[k][i], k representing k-order exponential golomb encoded uek(v) may correspond to a predetermined value. Therefore, "k" does not have to be signaled in the bitstream. In one example, in this case, the alf_data( ) syntax structure provided in Table 8C may be used.

Figure BDA0003427038460000621
Figure BDA0003427038460000621

表8CTable 8C

对于表8C,在一个示例中,语义可基于上面相对于表8B提供的语义。对于语法元素alf_cross_component_cb_coeff_abs[k][i]和alf_cross_component_cr_coeff_abs[k][i],在一个示例中,语义可以基于以下内容:For Table 8C, in one example, the semantics may be based on the semantics provided above with respect to Table 8B. For syntax elements alf_cross_component_cb_coeff_abs[k][i] and alf_cross_component_cr_coeff_abs[k][i], in one example, the semantics can be based on the following:

alf_cross_component_cb_coeff_abs[k][j]指定发信号通知的第k个交叉分量Cb滤波器组的第j个系数的绝对值。当alf_cross_component_cb_coeff_abs[k][j]不存在时,推断其等于0。alf_cross_component_cb_coeff_abs[k][j] specifies the absolute value of the jth coefficient of the signaled kth cross component Cb filterbank. When alf_cross_component_cb_coeff_abs[k][j] does not exist, it is inferred to be equal to 0.

将指数Golomb二值化uek(v)的阶数k设定为等于3。The order k of the exponential Golomb binarization uek(v) is set equal to 3.

alf_cross_component_cr_coeff_abs[k][j]指定发信号通知的第k个交叉分量Cr滤波器组的第j个系数的绝对值。当alf_cross_component_cr_coeff_abs[k][j]不存在时,推断其等于0。alf_cross_component_cr_coeff_abs[k][j] specifies the absolute value of the jth coefficient of the signaled kth cross component Cr filterbank. When alf_cross_component_cr_coeff_abs[k][j] does not exist, it is inferred to be equal to 0.

将指数Golomb二值化uek(v)的阶数k设定为等于3。The order k of the exponential Golomb binarization uek(v) is set equal to 3.

此外,对于表8A至表8C,在一个示例中,可以使用表8D中提供的slice_header()语法结构。应当指出的是,在表8D中,语法元素slice_cross_component_alf_cb_aps_id指定切片的Cb颜色分量标引的adaptation_parameter_set_id(在一个示例中是APS ID(例如,对于交叉分量滤波器,亮度滤波器、色度滤波器))未被接收,和例如针对一组切片类型(例如,I切片)、针对具有一组NALU类型(例如,对应于IRAP)的图片推断的值。Also, for Tables 8A to 8C, in one example, the slice_header( ) syntax structure provided in Table 8D may be used. It should be noted that in Table 8D, the syntax element slice_cross_component_alf_cb_aps_id specifies the adaptation_parameter_set_id of the Cb color component index of the slice (in one example, the APS ID (eg, for cross component filters, luma filter, chroma filter)) Not received, and values inferred, eg, for a set of slice types (eg, I slices), for pictures with a set of NALU types (eg, corresponding to IRAP).

Figure BDA0003427038460000641
Figure BDA0003427038460000641

表8DTable 8D

对于表8D,在一个示例中,语义可以基于以下内容:For Table 8D, in one example, the semantics can be based on the following:

slice_cross_component_alf_cb_enabled_flag等于0指定不将交叉分量Cb滤波器应用于Cb颜色分量。slice_cross_component_alf_cb_enabled_flag等于1表明将交叉分量Cb滤波器应用于Cb颜色分量。slice_cross_component_alf_cb_enabled_flag equal to 0 specifies that the cross component Cb filter is not applied to the Cb color components. slice_cross_component_alf_cb_enabled_flag equal to 1 indicates that the cross component Cb filter is applied to the Cb color component.

slice_cross_component_alf_cr_enabled_flag等于0指定不将交叉分量Cr滤波器应用于Cr颜色分量。slice_cross_component_alf_cb_enabled_flag等于1表明将交叉分量Cr滤波器应用于Cr颜色分量。slice_cross_component_alf_cr_enabled_flag equal to 0 specifies that the cross component Cr filter is not applied to the Cr color components. slice_cross_component_alf_cb_enabled_flag equal to 1 indicates that the cross component Cr filter is applied to the Cr color components.

对于表8A:For Table 8A:

slice_cross_component_alf_cb_reuse_temporal_layer_filter等于1指定交叉分量Cb滤波器系数(其中j=0..13,包括端值)被设定为等于AlfCCTemporalCoeffcb[Temporalld][j]。slice_cross_component_alf_cb_reuse_temporal_layer_filter equal to 1 specifies that the cross component Cb filter coefficients (where j=0..13, inclusive) are set equal to AlfCCTemporalCoeff cb [Temporalld][j].

slice_cross_component_alf_cb_reuse_temporal_layer_filter等于0并且slice_cross_component_alf_cb_enabled__flag等于1指定语法元素slice_cross_component_alf_cb_aps_id存在于切片标头中。slice_cross_component_alf_cb_reuse_temporal_layer_filter equal to 0 and slice_cross_component_alf_cb_enabled__flag equal to 1 specifies that the syntax element slice_cross_component_alf_cb_aps_id is present in the slice header.

当slice_cross_component_alf_cb_enabled_flag等于1并且slice_cross_component_alf_cb_reuse_temporal_layer_filter等于0时,如下导出AlfCCTemporalCoeffcb[Temporalld][j],j=0..13的元素:When slice_cross_component_alf_cb_enabled_flag is equal to 1 and slice_cross_component_alf_cb_reuse_temporal_layer_filter is equal to 0, the elements of AlfCCTemporalCoeff cb [Temporalld][j], j=0..13 are derived as follows:

AlfCCTemporalCoeffCb[Temporalld][j]=AlfCCCoeffCb[slice_cross_component_alf_cb_aps_id][j]AlfCCTemporalCoeff Cb [Temporalld][j]=AlfCCCoeff Cb [slice_cross_component_alf_cb_aps_id][j]

在一个示例中,交叉分量Cb系数(其中j=0..13)可被设定为在对应的APSAlfCCCoeffCb[slice_cross_component_alf_cb_aps_id][j]中接收的系数。In one example, the cross component Cb coefficients (where j=0..13) may be set to the coefficients received in the corresponding APSAlfCCCoeff Cb [slice_cross_component_alf_cb_aps_id][j].

slice_cross_component_alf_cr_reuse_temporal_layer_filter等于1指定交叉分量Cr滤波器系数(其中j=0..13,包括端值)被设定为等于AlfCCTemporalCoeffCr[TemporalId][j]。slice_cross_component_alf_cr_reuse_temporal_layer_filter equal to 1 specifies that the cross component Cr filter coefficients (where j=0..13, inclusive) are set equal to AlfCCTemporalCoeff Cr [TemporalId][j].

slice_cross_component_alf_cr_reuse_temporal_layer_filter等于0并且slice_cross_component_alf_cr_enabled_flag等于1指定语法元素slice_cross_component_alf_cr_aps_id存在于切片标头中。slice_cross_component_alf_cr_reuse_temporal_layer_filter equal to 0 and slice_cross_component_alf_cr_enabled_flag equal to 1 specifies that the syntax element slice_cross_component_alf_cr_aps_id is present in the slice header.

当slice_cross_component_alf_cr_enabled_flag等于1并且slice_cross_component_alf_cr_reuse__temporal_layer_filter等于0时,如下导出AlfCCTemporalCoeffCr[TemporalId][j],j=0..13的元素:When slice_cross_component_alf_cr_enabled_flag is equal to 1 and slice_cross_component_alf_cr_reuse_temporal_layer_filter is equal to 0, the elements of AlfCCTemporalCoeff Cr [TemporalId][j], j=0..13 are derived as follows:

AlfCCTemporalCoeffCr[TemporalId][j]=AlfCCCoeffCr[slice_cross__component_alf_cr_aps_id][j]AlfCCTemporalCoeff Cr [TemporalId][j]=AlfCCCoeff Cr [slice_cross__component_alf_cr_aps_id][j]

在一个示例中,交叉分量Cr系数(其中j=0..13)可被设定为在对应的APSAlfCCCoeffCr[slice_cross_component_alf_cr_aps_id][j]中接收的系数。In one example, the cross component Cr coefficients (where j=0..13) may be set to the coefficients received in the corresponding APSAlfCCCoeff Cr [slice_cross_component_alf_cr_aps_id][j].

对于表8B和表8C:For Table 8B and Table 8C:

slice_cross_component_alf_cb_reuse_temporal_layer_filter等于1指定交叉分量Cb滤波器系数(其中j=0..13,k=0..(NumCcAlfCbFilters-1),包括端值)被设定为等于AlfCCTemporalCoeffCb[TemporalId][k][j]。slice_cross_component_alf_cb_reuse_temporal_layer_filter equal to 1 specifies that the cross component Cb filter coefficients (where j=0..13, k=0..(NumCcAlfCbFilters-1), inclusive) are set equal to AlfCCTemporalCoeff Cb [TemporalId][k][j] .

slice_cross_component_alf_cb_reuse_temporal_layer_filter等于0并且slice_cross_component_alf_cb_enabled_flag等于1指定语法元素slice_cross_component_alf_cb_aps_id存在于切片标头中。slice_cross_component_alf_cb_reuse_temporal_layer_filter equal to 0 and slice_cross_component_alf_cb_enabled_flag equal to 1 specifies that the syntax element slice_cross_component_alf_cb_aps_id is present in the slice header.

当slice_cross_component_alf_cb_enabled_flag等于1并且slice_cross_component_alf_cb_reuse_temporal_layer_filter等于0时,如下导出AlfCCTemporalCoeffcb[TemporalId][k][j],j=0..13,k=0..(NumCcAlfCbFilters-1)的元素:When slice_cross_component_alf_cb_enabled_flag is equal to 1 and slice_cross_component_alf_cb_reuse_temporal_layer_filter is equal to 0, the elements of AlfCCTemporalCoeff cb [TemporalId][k][j], j=0..13, k=0..(NumCcAlfCbFilters-1) are derived as follows:

AlfCCTemporalCoeffCb[TemporalId][k][j]=AlfCCCoeffCb[slice_cross_component_alf_cb_ap s_id][k][j]AlfCCTemporalCoeff Cb [TemporalId][k][j]=AlfCCCoeff Cb [slice_cross_component_alf_cb_ap s_id][k][j]

slice_cross_component_alf_cr_reuse_temporal_layer_filter等于1指定交叉分量Cr滤波器系数(其中j=0..13,k=0..(NumCcAlfCrFilters-1),包括端值)被设定为等于AlfCCTemporalCoeffCr[TemporalId][k][j]。slice_cross_component_alf_cr_reuse_temporal_layer_filter equal to 1 specifies that the cross component Cr filter coefficients (where j=0..13, k=0..(NumCcAlfCrFilters-1), inclusive) are set equal to AlfCCTemporalCoeff Cr [TemporalId][k][j] .

slice_cross_component_alf_cr_reuse_temporal_layer_filter等于0并且slice_cross_component_alf_cr_enabled_flag等于1指定语法元素slice_cross_component_alf_cr_aps_id存在于切片标头中。slice_cross_component_alf_cr_reuse_temporal_layer_filter equal to 0 and slice_cross_component_alf_cr_enabled_flag equal to 1 specifies that the syntax element slice_cross_component_alf_cr_aps_id is present in the slice header.

当slice_cross_component_alf_cr_enabled_flag等于1并且slice_cross_component alf_cr_reuse_tcmporal_layer_filter等于0时,如下导出AlfCCTemporalCoeffCr[TemporalId][k][j],j=0..13,k=0..(NumCcAlfCrFilters-1)的元素:When slice_cross_component_alf_cr_enabled_flag is equal to 1 and slice_cross_component alf_cr_reuse_tcmporal_layer_filter is equal to 0, the elements of AlfCCTemporalCoeff Cr [TemporalId][k][j], j=0..13, k=0..(NumCcAlfCrFilters-1) are derived as follows:

AlfCCTemporalCoeffCr[TemporalId][k][j]=AlfCCCoeffCr[slice_cross_component_alf_cr_aps id][k][j]AlfCCTemporalCoeff Cr [TemporalId][k][j]=AlfCCCoeff Cr [slice_cross_component_alf_cr_aps id][k][j]

应当指出的是,当使用来自APS的滤波器系数组时,则使用来自APS的滤波器系数组来填充对应的时间滤波器系数组缓冲器。It should be noted that when a filter coefficient set from the APS is used, then the corresponding temporal filter coefficient set buffer is filled with the filter coefficient set from the APS.

slice_cross_component_alf_cb_aps_id指定切片的Cb颜色分量针对交叉分量Cb滤波器而标引的adaptation_parameter_set_id。当slice_cross_component_alf_cb_aps_id不存在时,推断其等于slice_alf_aps_id_luma[0]。具有等于slice_cross_component_alf_cb_aps_id的adaptation_parameter_set_id的ALF APS NAL单元的TemporalId应小于或等于编码切片NAL单元的TemporalId。slice_cross_component_alf_cb_aps_id specifies the adaptation_parameter_set_id to which the Cb color components of the slice are indexed for the cross component Cb filter. When slice_cross_component_alf_cb_aps_id does not exist, it is inferred to be equal to slice_alf_aps_id_luma[0]. The TemporalId of an ALF APS NAL unit with an adaptation_parameter_set_id equal to slice_cross_component_alf_cb_aps_id shall be less than or equal to the TemporalId of the encoded slice NAL unit.

在一个示例中,可例如对于NALU类型的集(例如,对应于随机访问点诸如IRAP)、对于切片类型集(例如,I切片)来重置APS。对于此类图片/切片,不发信号通知lice_cross_component_alf_cb_aps_id。在一个示例中,可将其推断为预先确定的值。在一个示例中,可将其推断为导出的值(例如,基于切片类型、TemporalID、NALU类型、QP)。In one example, the APS may be reset, eg, for sets of NALU type (eg, corresponding to random access points such as IRAP), for sets of slice type (eg, I slices). For such pictures/slices, lice_cross_component_alf_cb_aps_id is not signaled. In one example, it can be inferred to be a predetermined value. In one example, it can be inferred as a derived value (eg, based on slice type, TemporalID, NALU type, QP).

在一个示例中,未接收到slice_cross_component_alf_cb_aps_id,并且可针对具有一组NALU类型(例如,对应于IRAP)的图片的一组切片(例如,第一切片)推断值。In one example, slice_cross_component_alf_cb_aps_id is not received, and a value may be inferred for a set of slices (eg, the first slice) of a picture with a set of NALU types (eg, corresponding to IRAP).

slice_cross_component_alf_cr_aps_id指定切片的Cr颜色分量针对交叉分量Cb滤波器而标引的adaptation_parameter_set_id。当slice_cross_component_alf_cr_aps_id不存在时,推断其等于slice_alf_aps_id_luma[0]。具有等于slice_cross_component_alf_cr_aps_id的ALF APS NAL单元的TemporalId应小于或等于编码切片NAL单元的TemporalId。slice_cross_component_alf_cr_aps_id specifies the adaptation_parameter_set_id to which the slice's Cr color components are indexed for the cross component Cb filter. When slice_cross_component_alf_cr_aps_id does not exist, it is inferred to be equal to slice_alf_aps_id_luma[0]. The TemporalId of an ALF APS NAL unit with slice_cross_component_alf_cr_aps_id equal to slice_cross_component_alf_cr_aps_id shall be less than or equal to the TemporalId of the encoded slice NAL unit.

在一个示例中,可例如对于NALU类型的集(例如,对应于随机访问点诸如IRAP)、对于切片类型集(例如,I切片)来重置APS。对于这样的图片/切片,不发信号通知和推断slice_cross_component_alf_cr_aps_jd,而是将其推断为预先确定的值。在一个示例中,可将其推断为预先确定的值。在一个示例中,可将其推断为导出的值(例如,基于切片类型、TemporalID、NALU类型、QP)。In one example, the APS may be reset, eg, for sets of NALU type (eg, corresponding to random access points such as IRAP), for sets of slice type (eg, I slices). For such pictures/slices, slice_cross_component_alf_cr_aps_jd is not signaled and inferred, but inferred as a predetermined value. In one example, it can be inferred to be a predetermined value. In one example, it can be inferred as a derived value (eg, based on slice type, TemporalID, NALU type, QP).

在一个示例中,未接收到slice_cross_component_alf_cr_aps_id,并且针对具有一组NALU类型(例如,对应于IRAP)的图片的一组切片(例如,第一切片)推断值。In one example, slice_cross_component_alf_cr_aps_id is not received, and a value is inferred for a set of slices (eg, the first slice) of a picture with a set of NALU types (eg, corresponding to IRAP).

在一个示例中,APS重置操作可暗示在访问单元之前编码的APS(满足预先确定的一组条件,例如NALU类型指示IRAP,切片类型等于I切片)可能不可用于该访问单元和随后编码的访问单元。In one example, an APS reset operation may imply that an APS coded before an access unit (satisfying a predetermined set of conditions, such as NALU type indicating IRAP, slice type equal to I slice) may not be available for that access unit and subsequently coded access unit.

slice_cross_component_alf_cb_log2_control_size_minus4如下指定以样本数量为单位的正方形块大小的值:slice_cross_component_alf_cb_log2_control_size_minus4 specifies the value of the square block size in number of samples as follows:

AlfCCSamplesCbW=AlfCCSamplesCbH=2(slice _cross_component_alf_cb_log2_control_size_minus4+4) AlfCCSamplesCbW=AlfCCSamplesCbH=2 ( slice_cross_component_alf_cb_log2_control_size_minus4+4)

slice_cross_component_alf_cb_log2_control_size_minus4应在0至3的范围内(包括端值)。slice_cross_component_alf_cb_log2_control_size_minus4 should be in the range 0 to 3 inclusive.

slice_cross_component_alf_cr_log2_control_size_minus4如下指定以样本数量为单位的正方形块大小的值:slice_cross_component_alf_cr_log2_control_size_minus4 specifies the value of the square block size in number of samples as follows:

AlfCCSamplesCrW=AlfCCSamplesCrH=2(slice _cross_component_alf_cr_log2_control_size_minus4+4) AlfCCSamplesCrW=AlfCCSamplesCrH=2 ( slice_cross_component_alf_cr_log2_control_size_minus4+4)

slice_cross_component_alf_cr_log2_control_size_minus4应在0至3的范围内(包括端值)。slice_cross_component_alf_cr_log2_control_size_minus4 should be in the range 0 to 3 inclusive.

TemporalId是当前NAL单元的时间标识符。TemporalId is the temporal identifier of the current NAL unit.

应当指出的是,在上述示例中,使用指示系数的符号的语法元素(例如,alf_cross_component_cr_coeff_sign)和指示系数的绝对值的语法元素(例如,alf_cross_component_cr_coeff_abs)来指示系数值。在一个示例中,根据本文的技术,可以使用指示系数的绝对值是否大于特定值(例如,大于1、大于2标记等)的一个或多个标记以及基于该一个或多个标记的值指示系数的绝对值的语法元素来指示系数的绝对值。例如,在一个示例中,特定系数值的编码可以基于以下语义:It should be noted that in the above example, the coefficient value is indicated using a syntax element (eg, alf_cross_component_cr_coeff_sign) indicating the sign of the coefficient and a syntax element (eg, alf_cross_component_cr_coeff_abs) indicating the absolute value of the coefficient. In one example, in accordance with the techniques herein, one or more flags indicating whether the absolute value of the coefficient is greater than a particular value (eg, greater than a 1, greater than 2 flag, etc.) and the coefficient based on the value of the one or more flags may be used The absolute value of the syntax element to indicate the absolute value of the coefficient. For example, in one example, the encoding of a particular coefficient value may be based on the following semantics:

alf_cross_component_coeff_abs_greater_than_N_flag[k][j]指定发信号通知的第k个交叉分量滤波器组的第j个系数的绝对值是否大于N。在一个示例中,系数应该在-27至27-1的范围内(包括端值),并且N可以是64。alf_cross_component_coeff_abs_greater_than_N_flag[k][j] specifies whether the absolute value of the jth coefficient of the signaled kth cross component filterbank is greater than N. In one example, the coefficients should be in the range -2 7 to 2 7 -1, inclusive, and N may be 64.

alf_cross_component_coeff_abs[k][j]指定发信号通知的第k个交叉分量滤波器组的第j个系数的绝对值。当alf_cross_component_coeff_abs[k][j]不存在时,推断其等于0。alf_cross_component_coeff_abs[k][j] specifies the absolute value of the jth coefficient of the kth cross component filterbank signaled. When alf_cross_component_coeff_abs[k][j] does not exist, it is inferred to be equal to 0.

alf_cross_component_coeff_sign[k][i]如下指定第k个交叉分量滤波器系数组的第j个系数的符号:alf_cross_component_coeff_sign[k][i] specifies the sign of the jth coefficient of the kth cross component filter coefficient group as follows:

-如果alf_cross_component_coeff_sign[k][j]等于0,则对应的交叉分量滤波器系数具有正值。- If alf_cross_component_coeff_sign[k][j] is equal to 0, the corresponding cross component filter coefficient has a positive value.

-否则(alf_cross_component_coeff_sign[k][j]等于1),对应的交叉分量滤波器系数具有负值。- otherwise (alf_cross_component_coeff_sign[k][j] is equal to 1), the corresponding cross component filter coefficient has a negative value.

当alf_cross_component_coeff_sign[k][j]不存在时,推断其等于0。When alf_cross_component_coeff_sign[k][j] does not exist, it is inferred to be equal to 0.

具有元素AlfCCCoeff[adaptation_parameter_set_id][k][j]的交叉分量滤波器系数AlfCCCoeff[adaptation_parameter_set_id][k]如下导出:The cross component filter coefficients AlfCCCoeff[adaptation_parameter_set_id][k] with elements AlfCCCoeff[adaptation_parameter_set_id][k][j] are derived as follows:

AlfCCCoeff[adaptation_parameter_set_id][k][j]=(N*alf_cross_component_coeff_abs_greater than N flag[k][j]+alf_cross_component_coeff_abs[k][j])*(1-2*alf_cross_component_coeff_sign[k][j])AlfCCCoeff[adaptation_parameter_set_id][k][j]=(N*alf_cross_component_coeff_abs_greater than N flag[k][j]+alf_cross_component_coeff_abs[k][j])*(1-2*alf_cross_component_coeff_sign[k][j])

在一个示例中,可以针对交叉分量颜色(Cb和/或Cr)滤波器发信号通知一组交叉分量滤波器系数。每组交叉分量滤波器系数可以被分配有交叉分量滤波器索引。在一个示例中,可以在APS中发信号通知该组交叉分量滤波器系数。在一个示例中,可以对样本值进行分区(例如,使用与控制标记信令所使用的分区类似的技术或任何合适的替代方案来确定)。可针对样本值的每个分区发信号通知滤波器索引,其中滤波器索引标识要应用于分区中的样本的交叉分量滤波器。分区可以通过使用参数诸如块大小(其可以与控制块大小参数相同,或者可以是独立的)来传送。分区区域可使用参数值、图片/切片/图块组/MCTS大小来导出。在一个示例中,可以在APS中为每个颜色分量发信号通知该组仅一个交叉分量滤波器系数。可针对标识要应用于分区中的样本的交叉分量滤波器的每个样本值分区发信号通知APS标识符。In one example, a set of cross-component filter coefficients may be signaled for a cross-component color (Cb and/or Cr) filter. Each set of cross component filter coefficients may be assigned a cross component filter index. In one example, the set of cross component filter coefficients may be signaled in the APS. In one example, the sample values may be partitioned (eg, determined using techniques similar to the partitioning used for control flag signaling, or any suitable alternative). A filter index may be signaled for each partition of sample values, where the filter index identifies a cross-component filter to apply to the samples in the partition. Partitions may be communicated using parameters such as block size (which may be the same as the control block size parameter, or may be independent). Partition regions can be derived using parameter values, picture/slice/tile group/MCTS size. In one example, the set of only one cross-component filter coefficient may be signaled in the APS for each color component. An APS identifier may be signaled for each sample value partition identifying a cross component filter to be applied to the samples in the partition.

在一个示例中,可例如对于一组NALU类型(例如,对应于随机访问点诸如IRAP)、对于一组切片类型(例如,I切片)来重置用于时间层的子集或所有时间层的缓冲器。在一个示例中,重置可暗示清空操作。在一个示例中,重置可暗示将缓冲器设置为预先确定的一组值(例如,0,用于每个TemporalID的一组固定值)。缓冲器重置操作可暗示在访问单元之前存储在缓冲器中的值(满足预先确定的一组条件,例如NALU类型指示IRAP,切片类型等于I切片)可能不可用于该接入单元和随后编码的访问单元。在一个示例中,当缓冲器不包含任何系数时,则指示来自缓冲器的滤波器系数是否将被使用的语法元素可以不被发信号通知而是推断其值。例如,当清空缓冲区用于IRAP图片时,IRAP图片中的第一个切片不需要发信号通知slice_cross_component_alf_cb_reuse_temporal_layer_filter和/或slice_cross_component_alf_cr_reuse_temporal_layer_filter。在一个示例中,当缓冲器不包含任何系数时,则指示来自缓冲器的滤波器系数是否将被使用的语法元素可被发信号通知为限制于预先确定的值。例如,当清空缓冲区用于IRAP图片时,IRAP图片中的第一个切片中的语法元素slice_cross_component_alf_cb_reuse_temporal_layer_filter和/或slice_cross_component_alf_cr_reuse_temporal_layer_filter需要为0。In one example, for a subset of temporal layers or for all temporal layers may be reset, eg, for a set of NALU types (eg, corresponding to random access points such as IRAP), for a set of slice types (eg, I slices) buffer. In one example, a reset may imply a clear operation. In one example, a reset may imply setting the buffer to a predetermined set of values (eg, 0, a fixed set of values for each TemporalID). A buffer reset operation may imply that the value stored in the buffer prior to the access unit (satisfying a predetermined set of conditions, such as NALU type indicating IRAP, slice type equal to I slice) may not be available for that access unit and subsequent encoding access unit. In one example, when the buffer does not contain any coefficients, then the syntax element indicating whether the filter coefficients from the buffer are to be used may not be signaled but its value is inferred. For example, the first slice in the IRAP picture does not need to signal slice_cross_component_alf_cb_reuse_temporal_layer_filter and/or slice_cross_component_alf_cr_reuse_temporal_layer_filter when the buffer is emptied for an IRAP picture. In one example, when the buffer does not contain any coefficients, then a syntax element indicating whether filter coefficients from the buffer are to be used may be signaled to be limited to a predetermined value. For example, when flushing the buffer for an IRAP picture, the syntax elements slice_cross_component_alf_cb_reuse_temporal_layer_filter and/or slice_cross_component_alf_cr_reuse_temporal_layer_filter in the first slice in the IRAP picture need to be 0.

此外,在一个示例中,发信号通知用于前导图片的滤波器不应被相关联的IRAP图片的拖尾图片使用。这是因为在比特流的随机访问操作期间,可以从比特流中丢弃前导图片。如上所述,根据本文的技术,可以使用以下操作来发信号通知交叉分量滤波器:重新使用对应的时间子层缓冲器中的滤波器和/或APS中的滤波器。应当指出的是,在一些情况下,可以带外发信号通知APS,因此在一些情况下,比特流符合性可能只需要所标引的APS应可用。因此,在一个示例中,比特流符合性要求可使用语法元素slice_cross_component_alf_cb_reuse_temporal_layer_filter和slice_cross_component_alf_cr_reuse_temporal_layer_filter来实现。在一个示例中,语法元素slice_cross_component_alf_cb_reuse_temporal_layer_filter和slice_cross_component_alf_cr_reuse_temporal_layer_filter可具有如下约束:Also, in one example, the filter for the leading picture is signaled that it should not be used by the trailing picture of the associated IRAP picture. This is because leading pictures may be discarded from the bitstream during random access operations of the bitstream. As described above, in accordance with the techniques herein, a cross-component filter may be signaled using re-use of a filter in the corresponding temporal sublayer buffer and/or a filter in the APS. It should be noted that in some cases the APS may be signaled out-of-band, so in some cases bitstream compliance may only require that the indexed APS should be available. Thus, in one example, bitstream compliance requirements may be implemented using syntax elements slice_cross_component_alf_cb_reuse_temporal_layer_filter and slice_cross_component_alf_cr_reuse_temporal_layer_filter. In one example, the syntax elements slice_cross_component_alf_cb_reuse_temporal_layer_filter and slice_cross_component_alf_cr_reuse_temporal_layer_filter may have the following constraints:

当导出具有时间标识符TemporalId的时间子层缓冲器AlfCCTemporalCoeffCb[TemporalId][k][j]中的滤波器系数用于相关联的IRAP图片的前导图片时,比特流符合要求对于具有时间标识符TemporalId的相关联IRAP图片的拖尾图片,语法元素slice_cross_component_alf_cb_reuse_temporal_layer_filter的值应为0。When deriving the filter coefficients in the temporal sublayer buffer AlfCCTemporalCoeffCb[TemporalId][k][j] with the temporal identifier TemporalId for the leading picture of the associated IRAP picture, the bitstream is compliant for the temporal identifier TemporalId The trailing picture of the associated IRAP picture, the value of the syntax element slice_cross_component_alf_cb_reuse_temporal_layer_filter shall be 0.

当导出具有时间标识符TemporalId的时间子层缓冲器AlfCCTemporalCoeffCr[TemporalId][k][j]中的滤波器系数用于相关联的IRAP图片的前导图片时,比特流符合要求对于具有时间标识符TemporalId的相关联IRAP图片的拖尾图片,语法元素slice_cross_component_alf_cr_reuse_temporal_layer_filter的值应为0。When deriving the filter coefficients in the temporal sublayer buffer AlfCCTemporalCoeffCr[TemporalId][k][j] with the temporal identifier TemporalId for the leading picture of the associated IRAP picture, the bitstream is compliant for the temporal identifier TemporalId The trailing picture of the associated IRAP picture, the value of the syntax element slice_cross_component_alf_cr_reuse_temporal_layer_filter shall be 0.

如上相对于图9A至图9F所述,可基于色度位置类型确定滤波器形状。应当指出的是,滤波器形状可包括用于各种类型的滤波器的滤波器形状。此外,滤波器形状通常可被描述为表示支持和相对于所滤波的样本的原点。在一个示例中,可针对参数集中的每个交叉分量滤波器发信号通知滤波器形状:例如SPS、PPS、VUI。在一个示例中,例如当滤波器形状影响被编码的滤波器系数的数量时,还可以在APS或切片标头中发信号通知滤波器形状。在一个示例中,滤波器形状可用于确定滤波器系数的数量。在一个示例中,可以重复使用滤波器系数。也就是说,在一个示例中,可针对每个时间层为每个分量Cb/Cr保持先进先出(FIFO)缓冲器。在一个示例中,FIFO缓冲器的大小对于每个分量、每个时间层为1。在这样的示例中,可发信号通知标记以指示是要使用对应的(时间层)FIFO缓冲器中的滤波器系数还是要接收新的一组系数。当接收到新的一组滤波器系数时,它们替换对应的(时间层)FIFO缓冲器的内容。在一个示例中,FIFO缓冲器的大小对于每个分量、每个时间层为1。在这样的示例中,FIFO缓冲器中属于相同时间层或较低时间层的滤波器系数可被重复使用。接收语法元素(例如,标记)以指示FIFO缓冲器之一中的滤波器系数是否被重复使用,并且如果它被重复使用(例如,标记值为1),则接收要重复使用的系数的FIFO缓冲器的索引。基于当前时间层ID来确定该索引的有效值的范围(例如,0到当前时间层ID)。可使用ue(v)编码来发信号通知诸如-(FIFO缓冲器的时间层-当前时间层)的值。在另一个示例中,可以使用截断的一元(具有基于当前时间层ID的TU最大值)。As described above with respect to Figures 9A-9F, the filter shape may be determined based on the chroma position type. It should be noted that filter shapes may include filter shapes for various types of filters. Furthermore, the filter shape can generally be described as representing the support and relative to the origin of the filtered samples. In one example, the filter shape may be signaled for each cross component filter in the parameter set: eg SPS, PPS, VUI. In one example, the filter shape may also be signaled in the APS or slice header, such as when the filter shape affects the number of filter coefficients that are encoded. In one example, the filter shape may be used to determine the number of filter coefficients. In one example, filter coefficients may be reused. That is, in one example, a first-in, first-out (FIFO) buffer may be maintained for each component Cb/Cr for each temporal layer. In one example, the size of the FIFO buffer is 1 for each component, each time horizon. In such an example, a flag may be signaled to indicate whether to use the filter coefficients in the corresponding (temporal layer) FIFO buffer or to receive a new set of coefficients. When a new set of filter coefficients is received, they replace the contents of the corresponding (temporal layer) FIFO buffers. In one example, the size of the FIFO buffer is 1 for each component, each time horizon. In such an example, filter coefficients belonging to the same temporal layer or to a lower temporal layer in the FIFO buffer may be reused. Receive a syntax element (eg, a flag) to indicate whether a filter coefficient in one of the FIFO buffers is reused, and if it is reused (eg, a flag value of 1), receive a FIFO buffer of coefficients to be reused index of the device. The range of valid values for this index is determined based on the current temporal layer ID (eg, 0 to the current temporal layer ID). The ue(v) encoding can be used to signal a value such as -(time layer of FIFO buffer - current time layer). In another example, a truncated unary (with a TU maximum value based on the current temporal layer ID) may be used.

在一个示例中,交叉分量滤波器的局部控制的信令可包括在切片的第一个CTU中为切片发送所有交叉分量Cb和Cr块级控制标记。在一个示例中,当控制块大小大于CTU大小时,可以在控制块的第一个编码的CTU中发送控制标记。控制块中的剩余CTU可推断与控制块的第一个编码CTU中相同的值。当控制块中的第一个编码CTU确实接收到控制标记时,则可推断控制标记的值为0。在一个示例中,为每个CTU发送控制标记。在一个示例中,可以在切片/图块组的第一个CTU中发信号通知控制标记。此外,在一个示例中,可以针对图块组/切片的每个CTU发信号通知四个控制标记。在一个示例中,当CTU内存在四个控制块时,与完整CTU相比,部分CTU(例如,在边界处)可存在不同数量的控制块标记。在一个示例中,可以针对图块组/切片的每个CTU发信号通知一个控制标记。在一个示例中,可以针对一组CTU中的第一CTU发信号通知控制标记,并且可以针对该组中的剩余CTU推断相同的标记值。In one example, signaling of local control of the cross component filter may include sending all cross component Cb and Cr block level control flags for the slice in the first CTU of the slice. In one example, when the control block size is larger than the CTU size, the control flag may be sent in the first encoded CTU of the control block. The remaining CTUs in the control block may infer the same values as in the first encoded CTU of the control block. When the first coded CTU in the control block does receive the control flag, it can be inferred that the control flag has a value of 0. In one example, control flags are sent for each CTU. In one example, the control flag may be signaled in the first CTU of a slice/tile group. Furthermore, in one example, four control flags may be signaled for each CTU of a tile group/slice. In one example, when there are four control blocks within a CTU, there may be a different number of control block markers for a partial CTU (eg, at boundaries) than a full CTU. In one example, one control flag may be signaled for each CTU of a tile group/slice. In one example, a control flag may be signaled for the first CTU in a set of CTUs, and the same flag value may be inferred for the remaining CTUs in the set.

表9示出了用于在控制块的第一个CTU中发信号通知的coding_tree_unit()语法结构中的语法,和在控制块小于CTU时的多个标记的示例。应当指出的是,在表9中,当通过的Cb色度位置表示正被编码的切片内的Cb样本时,函数isInSliceCb()返回TRUE,否则返回FALSE,并且当通过的Cr色度位置表示正被编码的切片内的Cr样本时,函数isInSliceCr()返回TRUE,否则返回FALSE。Table 9 shows the syntax in the coding_tree_unit( ) syntax structure for signaling in the first CTU of a control block, and an example of multiple flags when the control block is smaller than the CTU. It should be noted that in Table 9, the function isInSliceCb() returns TRUE when the passed Cb chroma position represents a Cb sample within the slice being encoded, otherwise it returns FALSE, and when the passed Cr chroma position represents a positive The function isInSliceCr() returns TRUE when there are Cr samples in the encoded slice, otherwise it returns FALSE.

Figure BDA0003427038460000731
Figure BDA0003427038460000731

表9Table 9

表10示出了用于在控制块的第一个CTU中发信号通知的coding_tree_unit()语法结构中的语法,和在控制块小于CTU时的多个标记的示例。Table 10 shows the syntax in the coding_tree_unit( ) syntax structure for signaling in the first CTU of a control block, and an example of multiple flags when the control block is smaller than the CTU.

Figure BDA0003427038460000741
Figure BDA0003427038460000741

表10Table 10

对于表9至表10,在一个示例中,语义可以基于以下内容:For Tables 9 through 10, in one example, the semantics can be based on the following:

cross_component_alf_cb_control_flag[x][y]等于1指定将交叉分量Cb滤波器应用于颜色分量Cb的位于色度位置(xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH)的块。cross_component_alf_cb_control_flag[x][y] equal to 1 specifies that the cross component Cb filter is applied to the block of color component Cb at the chroma position (xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH).

cross_component_alf_cb_flag[x][y]等于0指定不将交叉分量Cb自适应环路滤波器应用于颜色分量Cb的位于色度位置(xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH)的块。cross_component_alf_cb_flag[x][y] equal to 0 specifies that the cross-component Cb adaptive loop filter is not applied to blocks of color component Cb at chroma positions (xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH) .

当cross_component_alf_cb_flag[x][y]不存在时,推断其等于0。When cross_component_alf_cb_flag[x][y] does not exist, it is inferred to be equal to 0.

cross_component_alf_cr_control_flag[x][y]等于1指定将交叉分量Cr滤波器应用于颜色分量Cr的位于色度位置(xCtb/SubWidthC+x*AlfCCSamplesCrW,yCtb ISubHeightC+y*AlfCCSamplesCrH)的块。cross_component_alf_cr_control_flag[x][y] equal to 1 specifies that the cross component Cr filter is applied to the block at the chroma position (xCtb/SubWidthC+x*AlfCCSamplesCrW,yCtbISubHeightC+y*AlfCCSamplesCrH) of the color component Cr.

cross_component_alf_cr_flag[x][y]等于0指定不将交叉分量Cr自适应环路滤波器应用于颜色分量Cr的位于色度位置(xCtb/SubWidthC+x*AlfCCSamplesCrW,yCtb/SubHeightC+y*AlfCCSamplesCrH)的块。cross_component_alf_cr_flag[x][y] equal to 0 specifies that the cross component Cr adaptive loop filter is not applied to the block at the chroma position (xCtb/SubWidthC+x*AlfCCSamplesCrW,yCtb/SubHeightC+y*AlfCCSamplesCrH) of the color component Cr .

当cross_component_alf_cr_flag[x][y]不存在时,推断其等于0。When cross_component_alf_cr_flag[x][y] does not exist, it is inferred to be equal to 0.

在一个示例中,根据本文的技术,在空间上相邻的标记的值用于选择用于对控制标记进行编码的上下文。在一个示例中,cross_component_alf_cb_control_flag和cross_component_alf_cr_control_flag存在总共3个上下文,其可以如下确定:In one example, according to the techniques herein, the values of spatially adjacent markers are used to select a context for encoding a control marker. In one example, there are a total of 3 contexts for cross_component_alf_cb_control_flag and cross_component_alf_cr_control_flag, which can be determined as follows:

Figure BDA0003427038460000751
Figure BDA0003427038460000751

Figure BDA0003427038460000761
Figure BDA0003427038460000761

在一个示例中,用于交叉分量滤波器的交叉分量滤波器系数携带其自己的独立参数集,例如APS。在一个示例中,交叉分量滤波器系数携带在不同于非交叉分量滤波器的参数集例如APS中(例如,JVET-N1001-v8中的ALF)。在一个示例中,代替5×6滤波器,一个实施方案可以使用JVET-N1001-v8中关于“用于亮度样本的编码树块滤波过程”的款项描述的7×7ALF滤波过程。这将进一步减少需要发信号通知的系数的数量。在以上描述中,应用滤波操作来细化颜色分量和/或通道中的样本,并且提供可逐帧和逐位置地启用/禁用操作的信令。在一个示例中,还可实施滤波操作,使得在每个帧和/或位置处,有多个滤波操作可用,并且所述信令可用于传输该多个滤波器和在可用滤波器中进行选择。In one example, the cross-component filter coefficients for the cross-component filter carry its own independent set of parameters, such as APS. In one example, the cross component filter coefficients are carried in a different parameter set than the non-cross component filter, eg, APS (eg, ALF in JVET-N1001-v8). In one example, instead of a 5x6 filter, one implementation may use the 7x7 ALF filtering process described in JVET-N1001-v8 in the subsection "Coding Treeblock Filtering Process for Luma Samples". This will further reduce the number of coefficients that need to be signaled. In the above description, filtering operations are applied to refine samples in color components and/or channels, and signaling is provided that can enable/disable operations on a frame-by-frame and position-by-position basis. In one example, filtering operations may also be implemented such that at each frame and/or location, multiple filtering operations are available, and the signaling may be used to transmit the multiple filters and select among the available filters .

在一个示例中,根据本文的技术,可以在不同的色度通道之间共享局部区域控制标记。也就是说,例如,语法元素cross_component_alf_cb_control_flag和cross_component_alf_cr_control_flag可以用语法元素cross_component_chroma_alf_control_flag替换,其中,在一个示例中,cross_component_chroma_alf_control_flag的语义基于以下内容:In one example, according to the techniques herein, local area control flags may be shared among different chroma channels. That is, for example, the syntax elements cross_component_alf_cb_control_flag and cross_component_alf_cr_control_flag may be replaced with the syntax element cross_component_chroma_alf_control_flag, where, in one example, the semantics of cross_component_chroma_alf_control_flag are based on the following:

cross_componcnt_chroma_alf_control_flag[x][y]等于1并且slice_cross_component_alf_cb_enabled_flag等于1指定将交叉分量Cb自适应环路滤波器应用于颜色分量Cb的位于色度位置(xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH)的块内的样本。cross_component_chroma_alf_flag[x][y]等于1并且slice_cross_component_alf_cr_enabled_flag等于1指定将交叉分量Cr自适应环路滤波器应用于颜色分量Cr的位于色度位置(xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH)的块内的样本。cross_component_chroma_alf_flag[x][y]等于0指定不将交叉分量色度自适应环路滤波器应用于颜色分量Cb和Cr的位于色度位置(xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH)的样本块。cross_componcnt_chroma_alf_control_flag[x][y] equal to 1 and slice_cross_component_alf_cb_enabled_flag equal to 1 specifies that the cross component Cb adaptive loop filter is applied to the color component Cb at the chroma position (xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH ) within the block of samples. cross_component_chroma_alf_flag[x][y] equal to 1 and slice_cross_component_alf_cr_enabled_flag equal to 1 specifies that the cross component Cr adaptive loop filter is applied to the color component Cr at the chroma position (xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH ) within the block of samples. cross_component_chroma_alf_flag[x][y] equal to 0 specifies that the cross-component chroma adaptive loop filter is not applied to color components Cb and Cr at chroma positions (xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH ) sample block.

当cross component_chroma_alf_flag[x][y]不存在时,推断其等于0。When cross component_chroma_alf_flag[x][y] is absent, it is inferred to be equal to 0.

此外,在一个示例中,语法元素slice_cross_component_alf_cb_enabled_flag和slice_cross_component_alf_cr_enabled_flag可以用语法元素slice_cross_component_chroma_alf_enabled_flag替换,语法元素cross_component_alf_cb_control_flag和cross_component_alf_cr_control_flag可以用语法元素cross_component_chroma_alf_control_flag替换,其中,在一个示例中,slice_cross_component_chroma_alf_enabled_flag和cross_component_chroma_alf_control_flag的语义基于以下内容:此外,在一个示例中,语法元素slice_cross_component_alf_cb_enabled_flag和slice_cross_component_alf_cr_enabled_flag可以用语法元素slice_cross_component_chroma_alf_enabled_flag替换,语法元素cross_component_alf_cb_control_flag和cross_component_alf_cr_control_flag可以用语法元素cross_component_chroma_alf_control_flag替换,其中,在一个示例中,slice_cross_component_chroma_alf_enabled_flag和cross_component_chroma_alf_control_flag的语义基于以下内容:

cross_component_chroma_alf_control_flag[x][y]等于1并且slice_cross_component_alf_chroma_enabled_flag等于1指定将交叉分量Cb自适应环路滤波器应用于颜色分量Cb的位于色度位置(xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH)的块内的样本。cross_component_chroma_alf_control_flag[x][y] equal to 1 and slice_cross_component_alf_chroma_enabled_flag equal to 1 specifies that the cross component Cb adaptive loop filter is applied to the color component Cb at the chroma position (xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH ) within the block of samples.

cross_component_chroma_alf_flag[x][y]等于1并且slice_cross_component_alf_chroma_enabled_flag等于1指定将交叉分量Cr自适应环路滤波器应用于颜色分量Cr的位于色度位置(xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH)的块内的样本。cross_component_chroma_alf_flag[x][y] equal to 1 and slice_cross_component_alf_chroma_enabled_flag equal to 1 specifies that the cross component Cr adaptive loop filter is applied to the color component Cr at the chroma position (xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH ) within the block of samples.

cross_component_chroma_alf_flag[x][y]等于0指定不将交叉分量色度自适应环路滤波器应用于颜色分量Cb和Cr的位于色度位置(xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH)的样本块。cross_component_chroma_alf_flag[x][y] equal to 0 specifies that the cross-component chroma adaptive loop filter is not applied to color components Cb and Cr at chroma positions (xCtb/SubWidthC+x*AlfCCSamplesCbW,yCtb/SubHeightC+y*AlfCCSamplesCbH ) sample block.

当cross_component_chroma_alf_flag[x][y]不存在时,推断其等于0。When cross_component_chroma_alf_flag[x][y] is not present, it is inferred to be equal to 0.

对于这些示例,表11示出了包括在用于切片的第一个CTU的coding_tree_unit()语法结构中的语法的示例,表12示出了包括在用于相应CTU的coding_tree_unit()语法结构中的语法的示例。For these examples, Table 11 shows an example of the syntax included in the coding_tree_unit( ) syntax structure for the first CTU of the slice, and Table 12 shows the syntax included in the coding_tree_unit( ) syntax structure for the corresponding CTU Example of syntax.

Figure BDA0003427038460000781
Figure BDA0003427038460000781

表11Table 11

Figure BDA0003427038460000791
Figure BDA0003427038460000791

表12Table 12

如上所述,交叉分量滤波的应用可以基于滤波器支持区域中包括的样本的属性(例如,方差和/或偏差)。在一个示例中,共享的控制标记(例如,cross_component_chroma_alf_control_flag)和包括在滤波器支持区域中的样本的属性可以用于确定是否为色度通道中的一个或两个应用交叉分量滤波。例如,在一个示例中,对于Cb,cross_component_chroma_alf_control_flag的值可以确定是否应用了交叉分量滤波,并且对于Cr,cross_component_chroma_alf_control_flag的值可以另外确定是否应用了交叉分量滤波。As described above, the application of cross-component filtering may be based on properties (eg, variance and/or bias) of the samples included in the filter support region. In one example, a shared control flag (eg, cross_component_chroma_alf_control_flag) and attributes of samples included in the filter support region may be used to determine whether to apply cross-component filtering for one or both of the chroma channels. For example, in one example, for Cb, the value of cross_component_chroma_alf_control_flag may determine whether cross-component filtering is applied, and for Cr, the value of cross_component_chroma_alf_control_flag may additionally determine whether cross-component filtering is applied.

如上所述,在JVET-N1001和JVET-O2001中,CTU根据四叉树加多类型树(QTMT或QT+MTT)结构来分区。在JVET-N1001和JVET-O2001中,对于I切片,可以使用隐式四叉树分割将每个CTU分割成具有64×64亮度样本的编码单元,并且这些编码单元可以是两个单独的编码树语法结构的根,即,一个用于亮度信道,一个用于色度信道。在任一种情况下,可以在分区树信令的语法内发信号通知/确定局部区域控制标记值。即,例如,用于将色度通道划分成CU的语法和语义(即,色度编码树)可包括指示局部区域控制标记值的信令(隐式和/或显式)。例如,JVET-N1001和JVET-O2001定义变量cbSubdiv=2*cqtDepth,cqtDepth是当前编码四叉树深度,并且CTU处的深度是0。在一个示例中,根据本文的技术,cbSubdiv小于或等于给定阈值的最小树节点可以表示父节点控制标记信令组,其中由进一步分割产生的所有块属于相同的控制标记信令组。也就是说,父CU处的局部区域控制标记可以用于推断任何所得的子CU处的局部区域控制标记的值。表13和表14示出了用于确定局部区域控制标记值的语法和变量分配的示例。也就是说,在表13中,cbSubdiv小于或等于给定阈值的最小树节点可以表示父节点控制标记信令组。表14提供了对应的编码单元语法。As described above, in JVET-N1001 and JVET-O2001, CTUs are partitioned according to a quadtree plus multi-type tree (QTMT or QT+MTT) structure. In JVET-N1001 and JVET-O2001, for I slices, implicit quadtree partitioning can be used to split each CTU into coding units with 64x64 luma samples, and these coding units can be two separate coding trees The roots of the syntax structure, ie, one for the luma channel and one for the chroma channel. In either case, the local region control flag value may be signaled/determined within the syntax of partition tree signaling. That is, for example, the syntax and semantics for partitioning chroma channels into CUs (ie, a chroma coding tree) may include signaling (implicit and/or explicit) indicating local region control flag values. For example, JVET-N1001 and JVET-O2001 define the variable cbSubdiv=2*cqtDepth, cqtDepth is the current coding quadtree depth, and the depth at the CTU is 0. In one example, according to the techniques herein, the smallest tree node with cbSubdiv less than or equal to a given threshold may represent a parent node control flag signaling group, wherein all blocks resulting from further partitioning belong to the same control flag signaling group. That is, the local region control flags at the parent CU can be used to infer the value of the local region control flags at any resulting child CUs. Tables 13 and 14 show examples of syntax and variable assignments for determining local area control flag values. That is, in Table 13, the smallest tree node whose cbSubdiv is less than or equal to a given threshold may represent a parent node control flag signaling group. Table 14 provides the corresponding coding unit syntax.

Figure BDA0003427038460000801
Figure BDA0003427038460000801

表13Table 13

Figure BDA0003427038460000802
Figure BDA0003427038460000802

表14Table 14

在表13所示的示例中,用于切片的CC ALF控制信令深度表示阈值。在一个示例中,可以针对切片、序列或图片发信号通知该阈值。对于表13,亮度位置((xCtrlBlk,yCtrlBlk)指定当前色度控制块相对于当前图片左上亮度样本的左上亮度样本。将水平位置xCtrlBlk和垂直位置yCtrlBlk分别设定为等于CuCcAlfTopLeftX和CuCcAlfTopLeftY。此外,当前色度控制块是编码树块内共享相同CC Alf控制标记值(对于色度分量共享或独立)的矩形区域。其宽度和高度等于编码树节点的宽度和高度,该编码树节点的左上亮度样本位置被分配给变量CuCcAlfTopLeftX和CuAlfCcTopLeftY。应当指出的是,在一个示例中,每个色度分量可存在独立的一组变量。In the example shown in Table 13, the CC ALF control signaling depth for the slice represents the threshold. In one example, the threshold may be signaled for a slice, sequence or picture. For Table 13, the luma position ((xCtrlBlk, yCtrlBlk) specifies the top-left luma sample of the current chroma control block relative to the top-left luma sample of the current picture. The horizontal position xCtrlBlk and vertical position yCtrlBlk are set equal to CuCcAlfTopLeftX and CuCcAlfTopLeftY, respectively. In addition, the current A chrominance control block is a rectangular area within a coding tree block that shares the same CC Alf control flag value (shared or independent for chroma components). Its width and height are equal to the width and height of the coding tree node whose upper-left luma sample is The positions are assigned to the variables CuCcAlfTopLeftX and CuAlfCcTopLeft Y. It should be noted that, in one example, there may be an independent set of variables for each chrominance component.

对于表14,在一个示例中,当cross_component_chroma_alf_control_flag(共享或独立)不存在时,推断其等于0,并且当cross_component_chroma_alf_control_flag(共享或独立)存在时,将变量IsCuCcAlfControlFlagCoded设定为1。此外,将Cu CC Alf控制标记Vai设定为cross_component_chroma_alf_control_flag。因此,在该示例中,只要用于开始新控制标记信令组的条件为真(即,为切片启用了CC ALF并且cuSubdiv不高于限值),内部标记“IsCuCcAlfControlFlagCoded”就被设定为0,并且当前树节点原点被保存为CuCcAlfTopLeftX、CuCcAlfTopLeftY变量中的控制标记信令组原点。稍后,在编码单元语法中,如果“IsCuCcAlfControlFlagCoded”为零,则控制信令组标记被编码,并且“IsCuCcAlfControlFlagCoded”标记被设定为1,从而防止其他控制块标记被编码,直到找到新的控制标记信令组为止。编码单元可从最后一个编码树节点原点继承其控制标记值,直到找到新的控制标记信令组为止。在一个示例中,当局部控制区域语法元素存在于编码单元中时,则IsCuCcAlfControlFlagCoded被设定为等于1。应当指出的是,JVET-N1001和JVET-O2001提供指示发信号通知QP值的最低深度的量化参数组。在一个示例中,CC ALF控制信令可以是对准的量化参数组。也就是说,量化参数组内的子节点共享QP值和CC ALF控制值。此外,在一种情况下,CC ALF控制值的值可以基于QP值或完全从QP值导出(例如,如果QP值小于阈值,则不向组发信号通知CC ALF控制标记而是将其推断为0)。For Table 14, in one example, when cross_component_chroma_alf_control_flag (shared or independent) is not present, it is inferred to be equal to 0, and when cross_component_chroma_alf_control_flag (shared or independent) is present, the variable IsCuCcAlfControlFlagCoded is set to 1. Also, the Cu CC Alf control flag Vai is set to cross_component_chroma_alf_control_flag. Therefore, in this example, the internal flag "IsCuCcAlfControlFlagCoded" is set to 0 as long as the condition for starting a new control flag signaling set is true (ie, CC ALF is enabled for the slice and cuSubdiv is not above the limit) , and the origin of the current tree node is saved as the origin of the control flag signaling group in the variables CuCcAlfTopLeftX and CuCcAlfTopLeftY. Later, in the coding unit syntax, if "IsCuCcAlfControlFlagCoded" is zero, the control signaling group flag is encoded and the "IsCuCcAlfControlFlagCoded" flag is set to 1, preventing other control block flags from being encoded until a new control is found until the signaling group is marked. A coding unit may inherit its control flag value from the origin of the last coding tree node until a new control flag signaling group is found. In one example, IsCuCcAlfControlFlagCoded is set equal to 1 when the local control region syntax element is present in the coding unit. It should be noted that JVET-N1001 and JVET-O2001 provide a set of quantization parameters indicating the lowest depth of the signaled QP value. In one example, the CC ALF control signaling may be an aligned set of quantization parameters. That is, child nodes within a quantization parameter group share QP values and CC ALF control values. Additionally, in one case, the value of the CC ALF control value may be based on the QP value or derived entirely from the QP value (eg, if the QP value is less than a threshold, the CC ALF control flag is not signaled to the group but inferred as 0).

如上所述,交叉分量滤波的信令可包括特定滤波器(例如,滤波器形状和/或滤波器系数)的信令。在一个示例中,根据本文的技术,语法元素的值可以指示是否针对某个区域应用交叉分量滤波,并且当针对某个区域应用交叉分量滤波时指示用于该区域的特定滤波器。例如,值0可指示未针对某个区域应用交叉分量滤波,值1可指示应用具有第一滤波器系数组的滤波器,值2可指示应用具有第二滤波器系数组的滤波器,等等。在一个示例中,该区域可为CTU。表15示出了根据本文技术的包括在coding_tree_unit()语法结构中的语法的示例。也就是说,在表15所示的示例中,语法元素alf_cross_component_cb_idc和alfcross coinponent cr idc指示是否应用交叉分量滤波,并且当应用交叉分量滤波时指示滤波器。As discussed above, signaling of cross-component filtering may include signaling of specific filters (eg, filter shape and/or filter coefficients). In one example, in accordance with the techniques herein, the value of the syntax element may indicate whether to apply cross-component filtering for a region, and when applying cross-component filtering for a region, indicate a particular filter for the region. For example, a value of 0 may indicate that cross-component filtering is not applied for a region, a value of 1 may indicate that a filter with a first set of filter coefficients is applied, a value of 2 may indicate that a filter with a second set of filter coefficients is applied, and so on . In one example, the region may be a CTU. Table 15 shows an example of syntax included in the coding_tree_unit( ) syntax structure in accordance with the techniques herein. That is, in the example shown in Table 15, the syntax elements alf_cross_component_cb_idc and alfcross coinponent cr idc indicate whether to apply cross-component filtering, and indicate a filter when cross-component filtering is applied.

Figure BDA0003427038460000821
Figure BDA0003427038460000821

Figure BDA0003427038460000831
Figure BDA0003427038460000831

表15Table 15

对于表15,在一个示例中,语义可以基于以下内容:For Table 15, in one example, the semantics can be based on the following:

PicWidthlnChromaSamples=pic_width_in_luma__samples/SubWidthCPicWidthlnChromaSamples=pic_width_in_luma__samples/SubWidthC

PicHeightlnChromaSamples=pic_height_in_luma_samples/SubHeightCPicHeightlnChromaSamples=pic_height_in_luma_samples/SubHeightC

AlfCCSamplesCbLog2W=AlfCCSamplesCbLog2H=slice_cross_component_alf_cb_log2_control_size_minus4+4AlfCCSamplesCbLog2W=AlfCCSamplesCbLog2H=slice_cross_component_alf_cb_log2_control_size_minus4+4

AlfCCSamplesCrLog2W=AlfCCSamplesCrLog2H=slice_cross_component_alf_cr_log2_control_size_minus4+4AlfCCSamplesCrLog2W=AlfCCSamplesCrLog2H=slice_cross_component_alf_cr_log2_control_size_minus4+4

此外,应当指出的是:Furthermore, it should be noted that:

在一个示例中,xStartC对应于CTU的顶部边缘。在一个示例中,yStartC对应于CTU的左侧边缘。In one example, xStartC corresponds to the top edge of the CTU. In one example, yStartC corresponds to the left edge of the CTU.

当局部控制区域不跨越CTU时,可以省略检查(xCtbC==xStartC&&yCtbC==yStartC)。When the local control region does not span a CTU, the check (xCtbC==xStartC&& yCtbC==yStartC) can be omitted.

在一个示例中,(xEndC>=PicWidthlnChromaSamples)和(yEndC>=PicHeightlnChromaSamples),由PicWidthlnChromaSamples和PicHeightlnChromaSample提供的上限可替代地分别对应于右侧和底部切片/图块/砖块/CTU边界。In one example, (xEndC>=PicWidthlnChromaSamples) and (yEndC>=PicHeightlnChromaSamples), the upper bounds provided by PicWidthlnChromaSamples and PicHeightlnChromaSamples may alternatively correspond to the right and bottom slice/tile/tile/CTU boundaries, respectively.

alf_cross_component_cb_idc[xC>>AlfCCSamplesCbLog2W][yC>>AlfCCSamplesCbLog2 H]等于0指示不将交叉分量Cb滤波器应用于具有左上色度位置(xC,yC)的Cb色度样本的块。alf_cross_component_cb_idc[xC>>AlfCCSamplesCbLog2W][yC>>AlfCCSamplesCbLog2H]等于m,其中m大于0指示将第k=(m-l)个交叉分量Cb滤波器组应用于具有左上色度位置(xC,yC)的Cb色度样本的块alf_cross_component_cb_idc[xC>>AlfCCSamplesCbLog2W][yC>>AlfCCSamplesCbLog2H] equal to 0 indicates that the cross component Cb filter is not applied to the block of Cb chroma samples with the upper left chroma position (xC, yC). alf_cross_component_cb_idc[xC>>AlfCCSamplesCbLog2W][yC>>AlfCCSamplesCbLog2H] is equal to m, where m greater than 0 indicates that the k=(m-l)th cross component Cb filterbank is applied to the Cb color with the upper left chroma position (xC,yC) block of degree samples

alf_cross_component_cr_idc[xC>>AlfCCSamplesCrLog2W][yC>>AlfCCSamplesCrLog2H]等于0指示不将交叉分量Cr滤波器应用于具有左上色度位置(xC,yC)的Cr色度样本的块。alf_cross_component_cr_idc[xC>>AlfCCSamplesCrLog2W][yC>>AlfCCSamplesCrLog2H]等于m,其中m大于0指示将第k=(m-l)个交叉分量Cr滤波器组应用于具有左上色度位置(xC,yC)的Cr色度样本的块alf_cross_component_cr_idc[xC>>AlfCCSamplesCrLog2W][yC>>AlfCCSamplesCrLog2H] equal to 0 indicates that the cross component Cr filter is not applied to the block of Cr chroma samples with the upper left chroma position (xC, yC). alf_cross_component_cr_idc[xC>>AlfCCSamplesCrLog2W][yC>>AlfCCSamplesCrLog2H] equals m, where m greater than 0 indicates that the k=(m-l)th cross component Cr filter bank is applied to the Cr color with the upper left chroma position (xC,yC) block of degree samples

当对应于色度样本位置(xC,yC)的alf_cross_component_cb_idc[xC>>AlfCCSamplesCbLog2W][yC>>AlfCCSamplesCbLog2 H]不可用时,例如当(xC,yC)与当前CTU相比位于不同的切片/图块时,函数UnavailableCb(xC,yC)返回TRUE,否则返回FALSEWhen alf_cross_component_cb_idc[xC>>AlfCCSamplesCbLog2W][yC>>AlfCCSamplesCbLog2H] corresponding to chroma sample position (xC,yC) is not available, such as when (xC,yC) is in a different slice/tile than the current CTU , the function UnavailableCb(xC,yC) returns TRUE, otherwise it returns FALSE

当对应于色度样本位置(xC,yC)的alf_cross_component_cr_idc[xC>>AlfCCSamplesCrLog2W][yC>>AlfCCSamplesCrLog2H]不可用时,例如当(xC,yC)与当前CTU相比位于不同的切片/图块时,函数UnavailableCr(xC,yC)返回TRUE,否则返回FALSE。When alf_cross_component_cr_idc[xC>>AlfCCSamplesCrLog2W][yC>>AlfCCSamplesCrLog2H] corresponding to the chroma sample position (xC,yC) is not available, such as when (xC,yC) is in a different slice/tile than the current CTU, The function UnavailableCr(xC, yC) returns TRUE, otherwise it returns FALSE.

在一个示例中,根据本文的技术,alf_cross_component_cb_idc和/或alf_cross_component_cr_idc的二值化可以是具有最大值cMax(根据发信号通知的滤波器系数组的数量)的截断Rice(TR)二值化,并且cRiceParam等于0。表16示出了alf_cross_component_cb_idc和/或alf_cross_component_cr_idc的截断Rice二值化的示例。In one example, in accordance with the techniques herein, the binarization of alf_cross_component_cb_idc and/or alf_cross_component_cr_idc may be a truncated Rice (TR) binarization with a maximum value cMax (according to the number of signaled filter coefficient sets), and cRiceParam equal to 0. Table 16 shows an example of truncated Rice binarization of alf_cross_component_cb_idc and/or alf_cross_component_cr_idc.

指示值Indicated value TR二值化(cRiceParam等于0)TR binarization (cRiceParam equals 0) 00 00 11 1010 22 110110 33 11101110 cMax-1cMax-1 1....10包含(cMax-1)个l1....10 contains (cMax-1) l cMaxcMax 1....11包含cMax个l1....11 contains cMax l

表16Table 16

其中,in,

对于CC ALF Cb,cMax被设置为对应的(alf_cross component cbfilters_signalled_minus1加1)For CC ALF Cb, cMax is set to the corresponding (alf_cross component cbfilters_signalled_minus1 plus 1)

对于CC ALF Cr,cMax被设置为对应的(alf_cross_componentcr_filterssignalled_minus1加1)For CC ALF Cr, cMax is set to the corresponding (alf_cross_componentcr_filterssignalled_minus1 plus 1)

在一个示例中,对于alf_cross_component_cb_idc和/或alf_cross_component_cr_ide,可以仅对第一个bin进行上下文编码(即,可以对其他bin进行旁路编码)。在一个示例中,第一个bin的上下文的导出可以如下:In one example, for alf_cross_component_cb_idc and/or alf_cross_component_cr_ide, only the first bin may be context encoded (ie, other bins may be bypass encoded). In one example, the export of the context of the first bin can be as follows:

该过程的输入是指定当前亮度块相对于当前图片左上样本的左上亮度样本的亮度位置(x0,y0)、颜色分量cIdx、当前编码四叉树深度cqtDepth、双树信道类型chType、亮度样本中的当前编码块的宽度和高度cbWidth和cbHeight,以及在编码树语义中导出的变量allowSplitBtVer、allowSplitBtHor、allowSplitTtVer、allowSplitTtHor和allowSplitQt。The input of this process is to specify the luma position (x0, y0) of the upper-left luma sample of the current luma block relative to the upper-left sample of the current picture, the color component cIdx, the current coding quadtree depth cqtDepth, the dual-tree channel type chType, the luma sample in The width and height of the current coding block, cbWidth and cbHeight, and the variables allowSplitBtVer, allowSplitBtHor, allowSplitTtVer, allowSplitTtHor and allowSplitQt derived in coding tree semantics.

该过程的输出为ctxInc。The output of this process is ctxInc.

位置(xNbL,yNbL)被设定为等于(x0-l,y0),并且调用针对指定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)被设定为等于(x0,y0),相邻位置(xNbY,yNbY)被设定为等于(xNbL,yNbL),checkPredModeY被设定为等于FALSE,并且cIdx作为输入,输出被分配给availableL。position (xNbL, yNbL) is set equal to (x0-l, y0), and the derivation process for the specified neighbor block availability is invoked, where position (xCurr, yCurr) is set equal to (x0, y0), Neighbor position (xNbY, yNbY) is set equal to (xNbL, yNbL), checkPredModeY is set equal to FALSE, and cIdx as input, output is assigned to availableL.

位置(xNbA,yNbA)被设定为等于(x0,y0-1),并且调用针对指定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)被设定为等于(x0,y0),相邻位置(xNbY,yNbY)被设定为等于(xNbA,yNbA),checkPredModeY被设定为等于FALSE,并且cIdx作为输入,输出被分配给availableA。position (xNbA, yNbA) is set equal to (x0, y0-1), and the derivation procedure for the specified neighbor block availability is invoked, where position (xCurr, yCurr) is set equal to (x0, y0), The adjacent position (xNbY, yNbY) is set equal to (xNbA, yNbA), checkPredModeY is set equal to FALSE, and cIdx is the input and the output is assigned to availableA.

ctxInc的分配如下指定,其中condL和condA在表17中指定:The assignment of ctxInc is specified as follows, where condL and condA are specified in Table 17:

对于语法元素alf_cross_component_cb_idc[x0][y0]和alf_cross_component_cr_idc[x0][y0]:For syntax elements alf_cross_component_cb_idc[x0][y0] and alf_cross_component_cr_idc[x0][y0]:

ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx*3ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx*3

Figure BDA0003427038460000861
Figure BDA0003427038460000861

表17Table 17

在一个示例中,对于alf_cross_component_cb_idc和/或alf_cross_component_cr_idc,可以对所有bin进行上下文编码,并且每个bin可以使用如表18所示的单独的上下文集。In one example, for alf_cross_component_cb_idc and/or alf_cross_component_cr_idc, all bins can be context encoded, and each bin can use a separate set of contexts as shown in Table 18.

Figure BDA0003427038460000871
Figure BDA0003427038460000871

表18Table 18

对于表18,在一个示例中,上下文的导出可以如下:For Table 18, in one example, the derivation of the context can be as follows:

该过程的输入是指定当前亮度块相对于当前图片左上样本的左上亮度样本的亮度位置(x0,y0)、颜色分量cIdx、当前编码四叉树深度cqtDepth、双树信道类型chType、亮度样本中的当前编码块的宽度和高度cbWidth和cbHeight,以及在编码树语义中导出的变量allowSplitBtVer、allowSplitBtHor、allowSplitTtVer、allowSplitTtHor和allowSplitQt。The input of this process is to specify the luma position (x0, y0) of the upper-left luma sample of the current luma block relative to the upper-left sample of the current picture, the color component cIdx, the current coding quadtree depth cqtDepth, the dual-tree channel type chType, the luma sample in The width and height of the current coding block, cbWidth and cbHeight, and the variables allowSplitBtVer, allowSplitBtHor, allowSplitTtVer, allowSplitTtHor and allowSplitQt derived in coding tree semantics.

该过程的输出为ctxInc。The output of this process is ctxInc.

位置(xNbL,yNbL)被设定为等于(x0-l,y0),并且调用针对指定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)被设定为等于(x0,y0),相邻位置(xNbY,yNbY)被设定为等于(xNbL,yNbL),checkPredModeY被设定为等于FALSE,并且cIdx作为输入,输出被分配给availableL。位置(xNbA,yNbA)被设定为等于(x0,y0-1),并且调用针对指定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)被设定为等于(x0,y0),相邻位置(xNbY,yNbY)被设定为等于(xNbA,yNbA),checkPredModeY被设定为等于FALSE,并且cIdx作为输入,输出被分配给availableA。ctxInc的分配如下指定,其中condL和condA在表19中指定:position (xNbL, yNbL) is set equal to (x0-l, y0), and the derivation process for the specified neighbor block availability is invoked, where position (xCurr, yCurr) is set equal to (x0, y0), Neighbor position (xNbY, yNbY) is set equal to (xNbL, yNbL), checkPredModeY is set equal to FALSE, and cIdx as input, output is assigned to availableL. position (xNbA, yNbA) is set equal to (x0, y0-1), and the derivation procedure for the specified neighbor block availability is invoked, where position (xCurr, yCurr) is set equal to (x0, y0), The adjacent position (xNbY, yNbY) is set equal to (xNbA, yNbA), checkPredModeY is set equal to FALSE, and cIdx is the input and the output is assigned to availableA. The assignment of ctxInc is specified as follows, where condL and condA are specified in Table 19:

对于语法元素alf_cross_component_cb_idc[x0][y0]和alf_cross_component_cr_idc[x0][y0]:For syntax elements alf_cross_component_cb_idc[x0][y0] and alf_cross_component_cr_idc[x0][y0]:

ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx*3ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx*3

Figure BDA0003427038460000872
Figure BDA0003427038460000872

Figure BDA0003427038460000881
Figure BDA0003427038460000881

表19Table 19

在一个示例中,对于alf_cross_component_cb_idc和/或alf_cross_component_cr_idc,可以对所有bin进行上下文编码,并且所有bin使用相同的上下文,即,每个binIdx使用相同的上下文。在一些情况下,binIdx的子集不适用,例如,NumCcAlfCbFilters为3,binIdx>3不适用于alf_cross_component_cb_idc[][],NumCcAlfCrFilters为3,binIdx>3不适用于alf_cross_component_cr_idc[][]。In one example, for alf_cross_component_cb_idc and/or alf_cross_component_cr_idc, all bins can be context encoded and all bins use the same context, ie each binIdx uses the same context. In some cases, a subset of binIdx does not apply, for example, NumCcAlfCbFilters is 3, binIdx>3 does not apply to alf_cross_component_cb_idc[][], NumCcAlfCrFilters is 3, binIdx>3 does not apply to alf_cross_component_cr_idc[][].

在一个示例中,对于alf_cross_component_cb_idc和/或alf_cross_component_cr_idc,可以对所有bin进行上下文编码,并且每个bin可以使用如表20所示的相同的上下文集。对于表20,应当注意,在一些情况下,binIdx的子集不适用,例如,NumCcAlfCbFilters为3,binIdx>3不适用于alf_cross_component_cb_idc[][],NumCcAlfCrFilters为3,binIdx>3不适用于alf_cross_component_cr_idc[][]。In one example, for alf_cross_component_cb_idc and/or alf_cross_component_cr_idc, all bins can be context encoded and each bin can use the same set of contexts as shown in Table 20. For Table 20, it should be noted that in some cases a subset of binIdx does not apply, for example, NumCcAlfCbFilters is 3, binIdx>3 does not apply to alf_cross_component_cb_idc[][], NumCcAlfCrFilters is 3, binIdx>3 does not apply to alf_cross_component_cr_idc[] [].

Figure BDA0003427038460000882
Figure BDA0003427038460000882

表20Table 20

对于表20,在一个示例中,上下文的导出可以如下:For Table 20, in one example, the derivation of the context can be as follows:

该过程的输入是指定当前亮度块相对于当前图片左上样本的左上亮度样本的亮度位置(x0,y0)、颜色分量cIdx、当前编码四叉树深度cqtDepth、双树信道类型chType、亮度样本中的当前编码块的宽度和高度cbWidth和cbHeight,以及在编码树语义中导出的变量allowSplitBtVer、allowSplitBtHor、allowSplitTtVer、allowSplitTtHor和allowSplitQt。The input of this process is to specify the luma position (x0, y0) of the upper-left luma sample of the current luma block relative to the upper-left sample of the current picture, the color component cIdx, the current coding quadtree depth cqtDepth, the dual-tree channel type chType, the luma sample in The width and height of the current coding block, cbWidth and cbHeight, and the variables allowSplitBtVer, allowSplitBtHor, allowSplitTtVer, allowSplitTtHor and allowSplitQt derived in coding tree semantics.

该过程的输出为ctxInc。The output of this process is ctxInc.

位置(xNbL,yNbL)被设定为等于(x0-l,y0),并且调用针对指定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)被设定为等于(x0,y0),相邻位置(xNbY,yNbY)被设定为等于(xNbL,yNbL),checkPredModeY被设定为等于FALSE,并且cIdx作为输入,输出被分配给availableL。position (xNbL, yNbL) is set equal to (x0-l, y0), and the derivation process for the specified neighbor block availability is invoked, where position (xCurr, yCurr) is set equal to (x0, y0), Neighbor position (xNbY, yNbY) is set equal to (xNbL, yNbL), checkPredModeY is set equal to FALSE, and cIdx as input, output is assigned to availableL.

位置(xNbA,yNbA)被设定为等于(x0,y0-1),并且调用针对指定的相邻块可用性的导出过程,其中位置(xCurr,yCurr)被设定为等于(x0,y0),相邻位置(xNbY,yNbY)被设定为等于(xNbA,yNbA),checkPredModeY被设定为等于FALSE,并且cIdx作为输入,输出被分配给availableA。ctxInc的分配如下指定,其中condL和condA在表21中指定:position (xNbA, yNbA) is set equal to (x0, y0-1), and the derivation procedure for the specified neighbor block availability is invoked, where position (xCurr, yCurr) is set equal to (x0, y0), The adjacent position (xNbY, yNbY) is set equal to (xNbA, yNbA), checkPredModeY is set equal to FALSE, and cIdx is the input and the output is assigned to availableA. The assignment of ctxInc is specified as follows, where condL and condA are specified in Table 21:

对于语法元素alf_cross_component_cb_idc[x0][y0]和alf_cross_component_cr_idc[x0][y0]:For syntax elements alf_cross_component_cb_idc[x0][y0] and alf_cross_component_cr_idc[x0][y0]:

ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx*3ctxInc=(condL&&availableL)+(condA&&availableA)+ctxSetIdx*3

Figure BDA0003427038460000891
Figure BDA0003427038460000891

表21Table 21

在一个示例中,视频编码器表示被配置为执行以下操作的设备的示例:接收用于视频数据的当前分量的重构样本数据,接收用于视频数据的一个或多个附加分量的重构样本数据,基于与视频数据的一个或多个附加分量相关联的数据导出交叉分量滤波器,以及基于所导出的交叉分量滤波器和用于视频数据的一个或多个附加分量的重构样本数据将滤波器应用于用于视频数据的当前分量的重构样本数据。In one example, a video encoder represents an example of a device configured to: receive reconstructed sample data for a current component of video data, receive reconstructed samples for one or more additional components of video data data, deriving a cross-component filter based on data associated with the one or more additional components of the video data, and deriving the cross-component filter based on the derived cross-component filter and reconstructed sample data for the one or more additional components of the video data The filter is applied to the reconstructed sample data for the current component of the video data.

图17是示出根据本公开的一种或多种技术的可被配置为对视频数据进行解码的视频解码器的示例的框图。在一个示例中,视频解码器500可被配置为基于上文所述的技术中的一种或多种技术来重构视频数据。也就是说,视频解码器500可以与上述视频编码器200互逆的方式操作。视频解码器500可被配置为执行帧内预测解码和帧间预测解码,并且因此可被称为混合解码器。在图18所示的示例中,视频解码器500包括熵解码单元502、逆量化单元504、逆变换处理单元506、帧内预测处理单元508、帧间预测处理单元510、求和器512、滤波器单元514和参考缓冲器516。视频解码器500可被配置为以与视频编码系统一致的方式对视频数据进行解码,该视频编码系统可以实现视频编码标准的一个或多个方面。应当指出的是,尽管示出的示例性视频解码器500具有不同的功能块,但此类图示旨在用于描述目的,并且不将视频解码器500和/或其子部件限制为特定的硬件或软件架构。可使用硬件、固件和/或软件具体实施的任何组合来实现视频解码器500的功能。17 is a block diagram illustrating an example of a video decoder that may be configured to decode video data in accordance with one or more techniques of this disclosure. In one example, video decoder 500 may be configured to reconstruct video data based on one or more of the techniques described above. That is, the video decoder 500 may operate in a reciprocal manner with the video encoder 200 described above. Video decoder 500 may be configured to perform intra-frame prediction decoding and inter-frame prediction decoding, and thus may be referred to as a hybrid decoder. In the example shown in FIG. 18, the video decoder 500 includes an entropy decoding unit 502, an inverse quantization unit 504, an inverse transform processing unit 506, an intra prediction processing unit 508, an inter prediction processing unit 510, a summer 512, a filter unit 514 and reference buffer 516. Video decoder 500 may be configured to decode video data in a manner consistent with a video encoding system that may implement one or more aspects of a video encoding standard. It should be noted that although the example video decoder 500 is shown with different functional blocks, such illustration is intended for descriptive purposes and does not limit the video decoder 500 and/or its subcomponents to a particular hardware or software architecture. The functions of video decoder 500 may be implemented using any combination of hardware, firmware and/or software implementations.

如图17所示,熵解码单元502接收熵编码的比特流。熵解码单元502可被配置为根据与熵编码过程互逆的过程对来自比特流的量化语法元素和量化系数进行解码。熵解码单元502可被配置为根据上文所述的任何熵编码技术来执行熵解码。熵解码单元502可以与视频编码标准一致的方式解析编码的比特流。视频解码器500可被配置为解析编码的比特流,其中该编码的比特流基于上述技术生成。As shown in FIG. 17, the entropy decoding unit 502 receives the entropy-encoded bitstream. Entropy decoding unit 502 may be configured to decode quantized syntax elements and quantized coefficients from the bitstream according to a process that is the reciprocal of an entropy encoding process. Entropy decoding unit 502 may be configured to perform entropy decoding according to any of the entropy encoding techniques described above. The entropy decoding unit 502 may parse the encoded bitstream in a manner consistent with video encoding standards. Video decoder 500 may be configured to parse an encoded bitstream, wherein the encoded bitstream is generated based on the techniques described above.

再次参考图17,逆量化单元504从熵解码单元502接收量化变换系数(即,位阶值)和量化参数数据。量化参数数据可以包括上述增量QP值和/或量化组大小值等的任意组合和全部组合。视频解码器500和/或逆量化单元504可被配置为基于由视频编码器发送信号通知的值和/或通过视频属性和/或编码参数来确定用于逆量化的QP值。也就是说,逆量化单元504可以与上述系数量化单元206互逆的方式操作。例如,逆量化单元504可被配置为根据上述技术推断预定值)、允许的量化组大小等。逆量化单元504可被配置为应用逆量化。逆变换处理单元506可被配置为执行逆变换以生成重构残差数据。由逆量化单元504和逆变换处理单元506分别执行的技术可类似于由上述逆量化/变换处理单元208执行的技术。逆变换处理单元506可被配置为应用逆DCT、逆DST、逆整数变换、不可分二次变换(NSST)或概念上类似的逆变换过程来变换系数,以便产生像素域中的残差块。此外,如上所述,是否执行特定变换(或特定变换的类型)可以取决于帧内预测模式。如图17所示,可将重构残差数据提供给求和器512。求和器512可以将重构残差数据添加到预测视频块并且生成重构视频数据。可根据预测视频技术(即帧内预测和帧间预测)确定预测视频块。Referring again to FIG. 17 , the inverse quantization unit 504 receives quantized transform coefficients (ie, scale values) and quantization parameter data from the entropy decoding unit 502 . The quantization parameter data may include any and all combinations of the aforementioned incremental QP values and/or quantization group size values, and the like. Video decoder 500 and/or inverse quantization unit 504 may be configured to determine QP values for inverse quantization based on values signaled by the video encoder and/or through video properties and/or encoding parameters. That is, the inverse quantization unit 504 may operate in a mutually inverse manner with the coefficient quantization unit 206 described above. For example, inverse quantization unit 504 may be configured to infer a predetermined value), an allowed quantization group size, and the like according to the techniques described above. Inverse quantization unit 504 may be configured to apply inverse quantization. Inverse transform processing unit 506 may be configured to perform an inverse transform to generate reconstructed residual data. The techniques performed by inverse quantization unit 504 and inverse transform processing unit 506, respectively, may be similar to those performed by inverse quantization/transform processing unit 208 described above. Inverse transform processing unit 506 may be configured to apply an inverse DCT, inverse DST, inverse integer transform, non-separable quadratic transform (NSST), or conceptually similar inverse transform process to transform the coefficients to produce a residual block in the pixel domain. Also, as described above, whether to perform a specific transform (or the type of a specific transform) may depend on the intra prediction mode. As shown in FIG. 17 , the reconstructed residual data may be provided to summer 512 . Summer 512 may add reconstructed residual data to the predicted video block and generate reconstructed video data. Predictive video blocks may be determined according to predictive video techniques (ie, intra-prediction and inter-prediction).

帧内预测处理单元508可被配置为接收帧内预测语法元素并且从参考缓冲器516检索预测视频块。参考缓冲器516可以包括被配置为存储一个或多个视频数据帧的存储器设备。帧内预测语法元素可识别帧内预测模式,诸如上述的帧内预测模式。在一个示例中,帧内预测处理单元508可以使用根据本文所述的帧内预测编码技术中的一种或多种技术来重构视频块。帧间预测处理单元510可接收帧间预测语法元素并生成运动矢量,以识别存储在参考缓冲器516中的一个或多个参考帧中的预测块。帧间预测处理单元510可以生成运动补偿块,可能基于内插滤波器执行内插。用于具有子像素精度的运动估计的内插滤波器的标识符可以包括在语法元素中。帧间预测处理单元510可以使用内插滤波器来计算参考块的子整数像素的内插值。Intra-prediction processing unit 508 may be configured to receive intra-prediction syntax elements and retrieve predicted video blocks from reference buffer 516 . Reference buffer 516 may include a memory device configured to store one or more frames of video data. The intra-prediction syntax element may identify an intra-prediction mode, such as the intra-prediction modes described above. In one example, intra-prediction processing unit 508 may reconstruct the video block using one or more of the intra-prediction encoding techniques described herein. Inter-prediction processing unit 510 may receive inter-prediction syntax elements and generate motion vectors to identify prediction blocks in one or more reference frames stored in reference buffer 516 . Inter-prediction processing unit 510 may generate motion compensation blocks, possibly performing interpolation based on interpolation filters. Identifiers of interpolation filters for motion estimation with sub-pixel precision may be included in the syntax element. Inter-prediction processing unit 510 may use interpolation filters to calculate interpolated values for sub-integer pixels of the reference block.

滤波器单元514可被配置为对重构的视频数据执行滤波。例如,滤波器单元514可被配置为执行解块和/或SAO滤波,如上面关于滤波器单元216所描述的。在示例中,滤波器单元514可以包括下文所述的交叉分量滤波器单元600。此外,应当指出的是,在一些示例中,滤波器单元514可被配置为执行专用的任意滤波(例如,视觉增强)。如图17所示,视频解码器500可以输出重构的视频块。Filter unit 514 may be configured to perform filtering on the reconstructed video data. For example, filter unit 514 may be configured to perform deblocking and/or SAO filtering, as described above with respect to filter unit 216 . In an example, filter unit 514 may include cross-component filter unit 600 described below. Furthermore, it should be noted that, in some examples, filter unit 514 may be configured to perform dedicated arbitrary filtering (eg, visual enhancement). As shown in FIG. 17, video decoder 500 may output reconstructed video blocks.

如上所述,图7示出了根据本公开的一种或多种技术的可被配置为对视频数据进行编码的交叉分量滤波器单元的示例。图18示出了根据本公开的一种或多种技术的可被配置为对视频数据进行解码的交叉分量滤波器单元的示例。也就是说,交叉分量滤波器单元600可以采用与交叉分量滤波器单元300互逆的方式操作。如图18所示,分量滤波器单元600包括滤波器确定单元602和样本修改单元604。样本修改单元604可以采用类似于样本修改单元304的方式操作。也就是说,样本修改单元604可根据导出的滤波器来执行滤波,包括本文所述的滤波器中的一种或多种滤波器。如图18所示,样本修改单元604可将经修改的重构块输出到参考图片缓冲器(即,作为环路滤波器),并且将经修改的重构块输出到输出端(例如,显示器)。滤波器确定单元602可以接收在当前块被解码时可用的编码参数信息(例如,帧内预测)和可用视频块数据,如图18所示,在视频解码器处,可用视频块数据可以包括:交叉分量重构块和当前分量重构块。然而,如图18所示,滤波器确定单元602可以接收滤波器数据。即,指定所导出的滤波器的滤波器数据可被发信号通知滤波器确定单元602。上文描述了这种信令的示例。因此,滤波器确定单元302可以基于视频数据、编码参数和/或滤波器数据导出要在色度重构块上使用的滤波器。As described above, FIG. 7 illustrates an example of a cross-component filter unit that may be configured to encode video data in accordance with one or more techniques of this disclosure. 18 illustrates an example of a cross-component filter unit that may be configured to decode video data in accordance with one or more techniques of this disclosure. That is, the cross-component filter unit 600 may operate in a reciprocal manner to the cross-component filter unit 300 . As shown in FIG. 18 , the component filter unit 600 includes a filter determination unit 602 and a sample modification unit 604 . Sample modification unit 604 may operate in a manner similar to sample modification unit 304 . That is, sample modification unit 604 may perform filtering according to the derived filters, including one or more of the filters described herein. As shown in FIG. 18, sample modification unit 604 may output the modified reconstructed block to a reference picture buffer (ie, as a loop filter), and output the modified reconstructed block to an output (eg, a display) ). Filter determination unit 602 may receive encoding parameter information (eg, intra-prediction) and available video block data available when the current block is decoded, as shown in FIG. 18, at the video decoder, the available video block data may include: Cross component reconstruction block and current component reconstruction block. However, as shown in FIG. 18, filter determination unit 602 may receive filter data. That is, filter data specifying the derived filter may be signaled to filter determination unit 602 . Examples of such signaling are described above. Accordingly, filter determination unit 302 may derive filters to be used on the chroma reconstruction block based on the video data, encoding parameters, and/or filter data.

如上所述,本文所述的交叉分量滤波技术通常可应用于视频数据的每个分量。因此,视频数据的分量的一个或多个组合可用于减小视频数据的一个或多个其他分量的重构误差。图19A至图19C是示出根据本公开的一种或多种技术的可以被配置为减小重构误差的交叉分量滤波器单元的示例的框图。也就是说,图19A至图19C示出了可包括在滤波单元514中的环路滤波器的示例。在图19A至图19C中,共同编号的元件如上所述。Cr交叉分量滤波器单元702是被配置为基于亮度分量、Cb分量、滤波器数据和编码参数来对Cr分量进行滤波的滤波器单元的示例。亮度交叉分量滤波器单元704是被配置为基于亮度分量、Cb分量、Cr分量、滤波器数据和编码参数来对亮度分量进行滤波的滤波器单元的示例。因此,视频解码器500表示被配置为执行以下操作的设备的示例:接收用于视频数据的当前分量的重构样本数据,接收用于视频数据的一个或多个附加分量的重构样本数据,基于与视频数据的一个或多个附加分量相关联的数据导出交叉分量滤波器,以及基于所导出的交叉分量滤波器和用于视频数据的一个或多个附加分量的重构样本数据将滤波器应用于用于视频数据的当前分量的重构样本数据。As noted above, the cross-component filtering techniques described herein are generally applicable to each component of video data. Thus, one or more combinations of components of video data may be used to reduce reconstruction error of one or more other components of video data. 19A-19C are block diagrams illustrating examples of cross-component filter units that may be configured to reduce reconstruction error in accordance with one or more techniques of the present disclosure. That is, FIGS. 19A to 19C show examples of loop filters that may be included in the filtering unit 514 . In Figures 19A-19C, the commonly numbered elements are as described above. The Cr cross component filter unit 702 is an example of a filter unit configured to filter the Cr component based on the luma component, the Cb component, the filter data and the coding parameters. The luma cross component filter unit 704 is an example of a filter unit configured to filter the luma component based on the luma component, the Cb component, the Cr component, the filter data and the coding parameters. Accordingly, video decoder 500 represents an example of an apparatus configured to: receive reconstructed sample data for a current component of video data, receive reconstructed sample data for one or more additional components of video data, A cross-component filter is derived based on data associated with the one or more additional components of the video data, and the filter is derived based on the derived cross-component filter and reconstructed sample data for the one or more additional components of the video data Applied to reconstructed sample data for the current component of video data.

在一个或多个示例中,所述功能可以通过硬件、软件、固件或它们的任何组合来实现。如果以软件实现,则可将功能作为一个或多个指令或代码存储在计算机可读介质上或经由计算机可读介质上传输,并且由基于硬件的处理单元执行。计算机可读介质可以包括对应于有形介质诸如数据存储介质的计算机可读存储介质,或者包括例如根据通信协议促进计算机程序从一个地方传输到另一个地方的任何介质的传播介质。这样,计算机可读介质通常可对应于:(1)非暂态的有形计算机可读存储介质,或者(2)通信介质诸如信号或载波。数据存储介质可以是可以由一个或多个计算机或一个或多个处理器访问以检索用于实现本公开中所述的技术的指令、代码和/或数据结构的任何可用介质。计算机程序产品可以包括计算机可读介质。In one or more examples, the functions may be implemented by hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium and executed by a hardware-based processing unit. Computer-readable media may include computer-readable storage media corresponding to tangible media such as data storage media, or propagation media including any medium that facilitates transfer of a computer program from one place to another, eg, according to a communication protocol. As such, a computer-readable medium may generally correspond to: (1) a non-transitory tangible computer-readable storage medium, or (2) a communication medium such as a signal or carrier wave. Data storage media can be any available media that can be accessed by one or more computers or one or more processors to retrieve instructions, code and/or data structures for implementing the techniques described in this disclosure. The computer program product may comprise a computer readable medium.

以举例而非限制的方式,此类计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光盘存储设备、磁盘存储设备或其他磁存储设备、闪存存储器、或者可用于存储指令或数据结构形式的所需程序代码并且可由计算机访问的任何其他介质。而且,任何连接都被适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤电缆、双绞线、数字用户线路(DSL)或无线技术诸如红外线、无线电和微波从网站、服务器或其他远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或无线技术诸如红外线、无线电和微波都包含在介质的定义中。然而,应当理解,计算机可读存储介质和数据存储介质不包括连接、载波、信号或其他暂态介质,而是针对非暂态有形存储介质。如本文所用,磁盘和光盘包括压缩光盘(CD)、激光盘、光学光盘、数字通用光盘(DVD)、软磁盘及Blu-ray光盘,其中磁盘通常以磁性方式复制数据,而光盘则利用激光以光学方式复制数据。上述的组合也应该包括在计算机可读介质的范围内。By way of example and not limitation, such computer-readable storage media may include RAM, ROM, EEPROM, CD-ROM or other optical disk storage devices, magnetic disk storage devices or other magnetic storage devices, flash memory, or may be used to store instructions or required program code in the form of data structures and any other medium that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave are used to transmit instructions from a website, server, or other remote source, coaxial cable, fiber optic cable, dual Stranded wire, DSL or wireless technologies such as infrared, radio and microwave are all included in the definition of medium. It should be understood, however, that computer-readable storage media and data storage media do not include connections, carrier waves, signals, or other transitory media, but are instead directed to non-transitory, tangible storage media. As used herein, magnetic disks and optical disks include compact disks (CDs), laser disks, optical disks, digital versatile disks (DVDs), floppy disks, and Blu-ray disks, where disks usually reproduce data magnetically, while disks use lasers to optically reproduce data way to copy data. Combinations of the above should also be included within the scope of computer-readable media.

可以由一个或多个处理器诸如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其他等效集成或离散逻辑电路执行指令。因此,如本文所用的术语“处理器”可以指任何前述结构或适用于实现本文所描述的技术的任何其他结构。此外,在一些方面中,可以在被配置用于编码和解码的专用硬件和/或软件模块内提供本文所述的功能,或者将其结合到组合编解码器中。而且,这些技术可以完全在一个或多个电路或逻辑元件中实现。may be implemented by one or more processors such as one or more digital signal processors (DSPs), general purpose microprocessors, application specific integrated circuits (ASICs), field programmable logic arrays (FPGAs) or other equivalent integrated or discrete logic circuits Execute the instruction. Accordingly, the term "processor," as used herein may refer to any of the foregoing structure or any other structure suitable for implementing the techniques described herein. Furthermore, in some aspects, the functionality described herein may be provided within dedicated hardware and/or software modules configured for encoding and decoding, or incorporated into a combined codec. Moreover, these techniques may be fully implemented in one or more circuits or logic elements.

本公开的技术可以在各种设备或装置包括无线手机、集成电路(IC)或IC集(例如,芯片集)中实现。在本公开中描述了各种部件、模块或单元,以强调被配置为执行所公开的技术的设备的功能方面,但是不一定需要通过不同的硬件单元来实现。相反,如上所述,可以将各种单元组合在编解码器硬件单元中,或者通过互操作硬件单元包括如上所述的一个或多个处理器的集合,结合合适的软件和/或固件来提供各种单元。The techniques of this disclosure may be implemented in various devices or apparatuses, including wireless handsets, integrated circuits (ICs), or sets of ICs (eg, chip sets). Various components, modules or units are described in this disclosure to emphasize functional aspects of devices configured to perform the disclosed techniques, but do not necessarily require realization by different hardware units. Rather, various units may be combined in a codec hardware unit, as described above, or provided by an interoperable hardware unit comprising a collection of one or more processors as described above, in conjunction with suitable software and/or firmware various units.

此外,每个上述实施方案中所使用的基站设备和终端设备的每个功能块或各种特征可通过电路(通常为一个集成电路或多个集成电路)实现或执行。被设计为执行本说明书中所述的功能的电路可以包括通用处理器、数字信号处理器(DSP)、专用或通用集成电路(ASIC)、现场可编程门阵列(FPGA)或其他可编程逻辑装置、分立栅极或晶体管逻辑器或分立硬件部件或它们的组合。通用处理器可以是微处理器,或另选地,该处理器可以是常规处理器、控制器、微控制器或状态机。通用处理器或上述每种电路可由数字电路进行配置,或可由模拟电路进行配置。此外,当由于半导体技术的进步而出现制成取代当前集成电路的集成电路的技术时,也能够使用通过该技术生产的集成电路。Furthermore, each functional block or various features of the base station apparatus and terminal apparatus used in each of the above-described embodiments may be implemented or performed by a circuit, typically an integrated circuit or multiple integrated circuits. Circuits designed to perform the functions described in this specification may include general purpose processors, digital signal processors (DSPs), application specific or general purpose integrated circuits (ASICs), field programmable gate arrays (FPGAs) or other programmable logic devices , discrete gate or transistor logic or discrete hardware components or a combination thereof. A general-purpose processor may be a microprocessor, or, alternatively, the processor may be a conventional processor, controller, microcontroller, or state machine. A general-purpose processor or each of the above circuits may be configured by digital circuits, or may be configured by analog circuits. In addition, when a technology for making integrated circuits that replace current integrated circuits emerges due to advances in semiconductor technology, integrated circuits produced by this technology can also be used.

已经描述了各种示例。这些示例和其他示例在以下权利要求的范围内。Various examples have been described. These and other examples are within the scope of the following claims.

<发明内容><Summary of the Invention>

在一个示例中,提供了一种减小视频数据中的重构误差的方法,该方法包括:接收用于视频数据的当前分量的重构样本数据;接收用于视频数据的一个或多个附加分量的重构样本数据;基于与视频数据的一个或多个附加分量相关联的数据导出交叉分量滤波器;以及基于所导出的交叉分量滤波器和用于视频数据的一个或多个附加分量的重构样本数据将滤波器应用于用于视频数据的当前分量的重构样本数据。In one example, a method of reducing reconstruction error in video data is provided, the method comprising: receiving reconstructed sample data for a current component of the video data; receiving one or more additional data for the video data reconstructed sample data for the components; deriving a cross-component filter based on data associated with one or more additional components of the video data; and deriving a cross-component filter based on the derived cross-component filter and for the one or more additional components of the video data The reconstructed sample data applies a filter to the reconstructed sample data for the current component of the video data.

在一个示例中,该方法还包括发信号通知与所导出的交叉分量滤波器相关联的信息。In one example, the method further includes signaling information associated with the derived cross-component filter.

在一个示例中,提供了该方法,其中导出交叉分量滤波器包括解析信令以确定交叉分量滤波器参数。In one example, the method is provided wherein deriving a cross-component filter includes parsing signaling to determine cross-component filter parameters.

在一个示例中,提供了该方法,其中基于与视频数据的一个或多个附加分量相关联的数据导出交叉分量滤波器包括基于已知的重构误差导出交叉分量滤波器。In one example, the method is provided wherein deriving a cross-component filter based on data associated with one or more additional components of video data includes deriving a cross-component filter based on a known reconstruction error.

在一个示例中,提供了该方法,根据滤波器系数来指定交叉分量滤波器。In one example, the method is provided to specify a cross-component filter based on filter coefficients.

在一个示例中,提供了一种用于对视频数据进行编码的设备,该设备包括被配置为执行这些步骤的任意和全部组合的一个或多个处理器。In one example, an apparatus for encoding video data is provided that includes one or more processors configured to perform any and all combinations of the steps.

在一个示例中,提供了一种设备,其中该设备包括视频编码器。In one example, an apparatus is provided, wherein the apparatus includes a video encoder.

在一个示例中,提供了一种设备,其中该设备包括视频解码器。In one example, an apparatus is provided, wherein the apparatus includes a video decoder.

在一个示例中,提供了一种系统,该系统包括:设备,该设备包括视频编码器;并且该设备包括视频解码器。In one example, a system is provided, the system comprising: an apparatus comprising a video encoder; and the apparatus comprising a video decoder.

在一个示例中,一种用于对视频数据进行编码的装置,该装置包括用于执行步骤的任意和全部组合的装置。In one example, an apparatus for encoding video data includes means for performing any and all combinations of steps.

在一个示例中,一种非暂态计算机可读存储介质,该非暂态计算机可读存储介质包括存储在其上的指令,当这些指令被执行时,使得用于编码视频数据的设备的一个或多个处理器执行步骤的任意和全部组合。In one example, a non-transitory computer-readable storage medium includes instructions stored thereon that, when executed, cause an apparatus for encoding video data to or multiple processors performing any and all combinations of steps.

在一个示例中,提供了一种对重构视频数据进行滤波的方法,该方法包括:输入重构亮度分量样本值;通过在自适应环路滤波过程之前使用交叉分量滤波器系数和重构亮度分量样本值来导出滤波样本值;通过使用滤波样本值来导出用于色度分量的细化值;以及通过使用色度分量的样本值和用于色度分量的细化值的总和来导出细化色度样本值。In one example, a method of filtering reconstructed video data is provided, the method comprising: inputting reconstructed luma component sample values; reconstructing luma by using cross component filter coefficients and reconstructing luma prior to an adaptive loop filtering process component sample values to derive filtered sample values; use the filtered sample values to derive refinement values for the chroma components; and derive refinement values by using the sum of the sample values for the chroma components and the refinement values for the chroma components Chroma sample value.

在一个示例中,该方法还包括:通过使用该总和和位深度来执行削波函数。In one example, the method further includes performing a clipping function using the sum and bit depth.

在一个示例中,该方法还包括:对第一滤波器系数语法元素进行解码,该第一滤波器系数语法元素指定自适应环路滤波器数据语法结构中用于Cb分量的交叉分量滤波器系数的绝对值,以及对第二滤波器系数语法元素进行解码,该第二滤波器系数语法元素指定自适应环路滤波器数据语法结构中用于Cb分量的交叉分量滤波器系数的符号。In one example, the method further includes decoding a first filter coefficient syntax element specifying cross component filter coefficients for the Cb component in the adaptive loop filter data syntax structure and decoding a second filter coefficient syntax element specifying the sign of the cross component filter coefficients for the Cb component in the adaptive loop filter data syntax structure.

在一个示例中,该方法还包括:对第一交叉分量语法元素进行解码,该第一交叉分量语法元素指定是否将交叉分量滤波器应用于Cb颜色分量;以及对第二交叉分量语法元素进行解码,该第二交叉分量语法元素指定是否将交叉分量滤波器应用于Cr颜色分量。In one example, the method further includes: decoding a first cross-component syntax element specifying whether to apply a cross-component filter to the Cb color component; and decoding a second cross-component syntax element , the second cross-component syntax element specifies whether to apply a cross-component filter to the Cr color components.

在一个示例中,提供了一种对编码数据进行解码的解码器,该解码器包括:处理器,和与该处理器相关联的存储器;其中处理器被配置为执行以下步骤:输入重构亮度分量样本值;通过在自适应环路滤波过程之前使用交叉分量滤波器系数和重构亮度分量样本值来导出滤波样本值;通过使用滤波样本值来导出用于色度分量的细化值;以及通过使用色度分量的样本值和用于色度分量的细化值的总和来导出细化色度样本值。In one example, a decoder for decoding encoded data is provided, the decoder comprising: a processor, and a memory associated with the processor; wherein the processor is configured to perform the steps of: inputting reconstructed luminance component sample values; deriving filtered sample values by using cross component filter coefficients and reconstructing luma component sample values prior to the adaptive loop filtering process; deriving refinement values for the chroma components by using the filtered sample values; and The refined chroma sample values are derived by using the sum of the sample values for the chroma components and the refinement values for the chroma components.

在一个示例中,提供了一种对视频数据进行编码的编码器,该编码器包括:处理器,和与该处理器相关联的存储器;其中处理器被配置为执行以下步骤:输入重构亮度分量样本值;通过在自适应环路滤波过程之前使用交叉分量滤波器系数和重构亮度分量样本值来导出滤波样本值;通过使用滤波样本值来导出用于色度分量的细化值;以及通过使用色度分量的样本值和用于色度分量的细化值的总和来导出细化色度样本值。In one example, there is provided an encoder for encoding video data, the encoder comprising: a processor, and a memory associated with the processor; wherein the processor is configured to perform the steps of: inputting reconstructed luminance component sample values; deriving filtered sample values by using cross component filter coefficients and reconstructing luma component sample values prior to the adaptive loop filtering process; deriving refinement values for the chroma components by using the filtered sample values; and The refined chroma sample values are derived by using the sum of the sample values for the chroma components and the refinement values for the chroma components.

<交叉引用><cross reference>

本非临时专利申请根据《美国法典》第35卷第119节(35U.S.C.§119)要求于2019年6月24日提交的临时申请62/865,933、2019年7月4日提交的临时申请62/870,752、2019年8月14日提交的临时申请62/886,891的优先权,这些临时申请的全部内容据此以引用方式并入。This non-provisional patent application requires provisional application 62/865,933 filed on June 24, 2019, provisional application filed on July 4, 2019 62 under 35 U.S.C. /870,752, priority to provisional application 62/886,891, filed August 14, 2019, the entire contents of which are hereby incorporated by reference.

Claims (6)

1.一种对重构视频数据进行滤波的方法,所述方法包括:1. A method of filtering reconstructed video data, the method comprising: 输入重构亮度分量样本值;Input reconstructed luminance component sample value; 通过在自适应环路滤波过程之前使用交叉分量滤波器系数和所述重构亮度分量样本值来导出滤波样本值;deriving filtered sample values by using cross component filter coefficients and the reconstructed luma component sample values prior to an adaptive loop filtering process; 通过使用所述滤波样本值来导出用于色度分量的细化值;以及deriving refinement values for the chroma components by using the filtered sample values; and 通过使用色度分量的样本值和所述用于色度分量的细化值的总和来导出细化色度样本值。The refined chroma sample values are derived by using the sum of the sample values for the chroma components and the refined values for the chroma components. 2.根据权利要求1所述的方法,还包括:2. The method of claim 1, further comprising: 通过使用所述总和和位深度来执行削波函数。The clipping function is performed by using the sum and bit depth. 3.根据权利要求1所述的方法,还包括:3. The method of claim 1, further comprising: 对第一滤波器系数语法元素进行解码,所述第一滤波器系数语法元素指定自适应环路滤波器数据语法结构中用于Cb分量的所述交叉分量滤波器系数的绝对值,以及decoding a first filter coefficient syntax element that specifies the absolute value of the cross component filter coefficient for the Cb component in the adaptive loop filter data syntax structure, and 对第二滤波器系数语法元素进行解码,所述第二滤波器系数语法元素指定所述自适应环路滤波器数据语法结构中用于所述Cb分量的所述交叉分量滤波器系数的符号。A second filter coefficient syntax element is decoded, the second filter coefficient syntax element specifying a sign of the cross component filter coefficient for the Cb component in the adaptive loop filter data syntax structure. 4.根据权利要求1所述的方法,还包括:4. The method of claim 1, further comprising: 对第一交叉分量语法元素进行解码,所述第一交叉分量语法元素指定是否将交叉分量滤波器应用于Cb颜色分量,以及decoding a first cross-component syntax element specifying whether to apply a cross-component filter to the Cb color components, and 对第二交叉分量语法元素进行解码,所述第二交叉分量语法元素指定是否将交叉分量滤波器应用于Cr颜色分量。Decodes a second cross-component syntax element that specifies whether to apply a cross-component filter to the Cr color component. 5.一种对编码数据进行解码的解码器,所述解码器包括:5. A decoder for decoding encoded data, the decoder comprising: 处理器;和processor; and 与所述处理器相关联的存储器;其中所述处理器被配置为执行以下步骤:a memory associated with the processor; wherein the processor is configured to perform the following steps: 输入重构亮度分量样本值;Input reconstructed luminance component sample value; 通过在自适应环路滤波过程之前使用交叉分量滤波器系数和所述重构亮度分量样本值来导出滤波样本值;deriving filtered sample values by using cross component filter coefficients and the reconstructed luma component sample values prior to an adaptive loop filtering process; 通过使用所述滤波样本值来导出用于色度分量的细化值;以及deriving refinement values for the chroma components by using the filtered sample values; and 通过使用色度分量的样本值和所述用于色度分量的细化值的总和来导出细化色度样本值。The refined chroma sample values are derived by using the sum of the sample values for the chroma components and the refined values for the chroma components. 6.一种对视频数据进行编码的编码器,所述编码器包括:6. An encoder for encoding video data, the encoder comprising: 处理器;和processor; and 与所述处理器相关联的存储器;其中所述处理器被配置为执行以下步骤:a memory associated with the processor; wherein the processor is configured to perform the steps of: 输入重构亮度分量样本值;Input reconstructed luminance component sample value; 通过在自适应环路滤波过程之前使用交叉分量滤波器系数和所述重构亮度分量样本值来导出滤波样本值;deriving filtered sample values by using cross component filter coefficients and the reconstructed luma component sample values prior to an adaptive loop filtering process; 通过使用所述滤波样本值来导出用于色度分量的细化值;以及deriving refinement values for the chroma components by using the filtered sample values; and 通过使用色度分量的样本值和所述用于色度分量的细化值的总和来导出细化色度样本值。The refined chroma sample values are derived by using the sum of the sample values for the chroma components and the refined values for the chroma components.
CN202080045948.2A 2019-06-24 2020-06-23 System and method for reducing reconstruction errors in video coding based on cross-component correlation Pending CN114009018A (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201962865933P 2019-06-24 2019-06-24
US62/865,933 2019-06-24
US201962870752P 2019-07-04 2019-07-04
US62/870,752 2019-07-04
US201962886891P 2019-08-14 2019-08-14
US62/886,891 2019-08-14
PCT/JP2020/024645 WO2020262396A1 (en) 2019-06-24 2020-06-23 Systems and methods for reducing a reconstruction error in video coding based on a cross-component correlation

Publications (1)

Publication Number Publication Date
CN114009018A true CN114009018A (en) 2022-02-01

Family

ID=74060607

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202080045948.2A Pending CN114009018A (en) 2019-06-24 2020-06-23 System and method for reducing reconstruction errors in video coding based on cross-component correlation

Country Status (5)

Country Link
US (2) US12034922B2 (en)
EP (1) EP3987813A4 (en)
CN (1) CN114009018A (en)
BR (1) BR112021026341A2 (en)
WO (1) WO2020262396A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023213298A1 (en) * 2022-05-05 2023-11-09 Beijing Bytedance Network Technology Co., Ltd. Filter shape switch for adaptive loop filter in video coding

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020259538A1 (en) * 2019-06-27 2020-12-30 Mediatek Inc. Method and apparatus of cross-component adaptive loop filtering for video coding
CN114710977B (en) 2019-07-26 2023-11-24 寰发股份有限公司 Method and device for video encoding and decoding
CN120302049A (en) 2019-08-08 2025-07-11 松下电器(美国)知识产权公司 System and method for video encoding
WO2021025167A1 (en) * 2019-08-08 2021-02-11 Panasonic Intellectual Property Corporation Of America System and method for video coding
WO2021025168A1 (en) * 2019-08-08 2021-02-11 Panasonic Intellectual Property Corporation Of America System and method for video coding
EP4307665A3 (en) 2019-08-10 2024-07-10 Beijing Bytedance Network Technology Co., Ltd. Buffer management in subpicture decoding
GB2586484B (en) * 2019-08-20 2023-03-08 Canon Kk A filter
US11234010B2 (en) * 2019-08-28 2022-01-25 Qualcomm Incorporated Cross-component adaptive loop filtering for video coding
WO2021040484A1 (en) * 2019-08-29 2021-03-04 엘지전자 주식회사 Cross-component adaptive loop filtering-based image coding apparatus and method
WO2021045130A1 (en) 2019-09-03 2021-03-11 Panasonic Intellectual Property Corporation Of America System and method for video coding
US11343493B2 (en) * 2019-09-23 2022-05-24 Qualcomm Incorporated Bit shifting for cross-component adaptive loop filtering for video coding
CN114503577B (en) 2019-10-02 2024-07-05 北京字节跳动网络技术有限公司 Syntax for sub-picture signaling in video bitstreams
MX2022004409A (en) 2019-10-18 2022-05-18 Beijing Bytedance Network Tech Co Ltd SYNTAX RESTRICTIONS IN THE SIGNALING OF PARAMETER SETS OF SUBIMAGES.
WO2021110017A1 (en) 2019-12-02 2021-06-10 Beijing Bytedance Network Technology Co., Ltd. Merge with motion vector differencing in affine mode
EP4074053B1 (en) * 2019-12-18 2024-12-11 Beijing Dajia Internet Information Technology Co., Ltd. Cross component adaptive loop filter for video coding
KR102778741B1 (en) 2019-12-24 2025-03-07 텔레폰악티에볼라겟엘엠에릭슨(펍) Virtual boundary processing for adaptive loop filtering
KR20220157950A (en) 2020-03-23 2022-11-29 베이징 바이트댄스 네트워크 테크놀로지 컴퍼니, 리미티드 Prediction refinement for affine merge and affine motion vector prediction modes
CN116366859A (en) * 2020-07-28 2023-06-30 北京达佳互联信息技术有限公司 Method, device and medium for decoding video signal
JP7684411B2 (en) * 2021-02-01 2025-05-27 ベイジン ダージャー インターネット インフォメーション テクノロジー カンパニー リミテッド Enhancement of chroma coding/decoding in cross-component sampling adaptive offset
CN116830577A (en) * 2021-02-08 2023-09-29 北京达佳互联信息技术有限公司 Cross-component adaptive loop filter
KR20230139811A (en) * 2021-02-22 2023-10-05 베이징 다지아 인터넷 인포메이션 테크놀로지 컴퍼니 리미티드 Coding improvements in cross-component sample adaptive offset
MX2023010325A (en) * 2021-03-18 2023-09-14 Beijing Dajia Internet Information Tech Co Ltd Coding enhancement in cross-component sample adaptive offset.
US11683530B2 (en) * 2021-03-19 2023-06-20 Tencent America LLC Adaptive non-linear mapping for sample offset
GB2605791A (en) * 2021-04-12 2022-10-19 Sony Group Corp Data processing, encoding and decoding
CN117616758A (en) * 2021-08-04 2024-02-27 Lg 电子株式会社 Image encoding/decoding method, method for transmitting bitstream, and recording medium storing bitstream
JP2024533145A (en) * 2021-09-08 2024-09-12 ベイジン、ターチア、インターネット、インフォメーション、テクノロジー、カンパニー、リミテッド Enhanced coding in intercomponent sample-adaptive offsets.
KR20240168409A (en) * 2022-03-29 2024-11-29 노키아 테크놀로지스 오와이 Device, method and computer program for video coding and decoding
KR20250067874A (en) * 2022-10-13 2025-05-15 구글 엘엘씨 Simplifying the derivation of filter coefficients for cross-component prediction
CN119968840A (en) * 2022-10-13 2025-05-09 谷歌有限责任公司 Region-based cross-component prediction
US12262019B2 (en) 2023-01-13 2025-03-25 Tencent America LLC Adaptive bands for filter offset selection in cross-component sample offset

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130113880A1 (en) * 2011-11-08 2013-05-09 Jie Zhao High Efficiency Video Coding (HEVC) Adaptive Loop Filter
WO2018070914A1 (en) * 2016-10-12 2018-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Residual refinement of color components
US20180359480A1 (en) * 2016-01-15 2018-12-13 Vid Scale, Inc. System and method for enhanced motion compensation using adaptive filtering

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014163462A1 (en) * 2013-04-05 2014-10-09 삼성전자 주식회사 Method and apparatus for encoding and decoding video with respect to filtering
US10419757B2 (en) 2016-08-31 2019-09-17 Qualcomm Incorporated Cross-component filter

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130113880A1 (en) * 2011-11-08 2013-05-09 Jie Zhao High Efficiency Video Coding (HEVC) Adaptive Loop Filter
US20180359480A1 (en) * 2016-01-15 2018-12-13 Vid Scale, Inc. System and method for enhanced motion compensation using adaptive filtering
WO2018070914A1 (en) * 2016-10-12 2018-04-19 Telefonaktiebolaget Lm Ericsson (Publ) Residual refinement of color components

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DONG, JIE ET AL.: "SCE4: Results of test 4.2.4 on chroma enhancement for inter layer prediction", JCTVC-M0183, 18 April 2013 (2013-04-18) *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023213298A1 (en) * 2022-05-05 2023-11-09 Beijing Bytedance Network Technology Co., Ltd. Filter shape switch for adaptive loop filter in video coding

Also Published As

Publication number Publication date
EP3987813A1 (en) 2022-04-27
WO2020262396A1 (en) 2020-12-30
US20220248007A1 (en) 2022-08-04
US20240305780A1 (en) 2024-09-12
EP3987813A4 (en) 2023-03-08
BR112021026341A2 (en) 2022-02-08
US12034922B2 (en) 2024-07-09

Similar Documents

Publication Publication Date Title
US12034922B2 (en) Systems and methods for reducing a reconstruction error in video coding based on a cross-component correlation
CN112204967B (en) Apparatus and method for encoding video data
CN110999291B (en) System and method for partitioning video blocks in inter-predicted segments of video data
CN114391255B (en) System and method for reducing reconstruction error in video coding based on cross-component correlation
CN110249629A (en) For the system and method by picture segmentation at video block to carry out video codes processing
CN113785589A (en) Prediction signal filtering in affine linear weighted intra prediction
US12301803B2 (en) Systems and methods for reducing a reconstruction error in video coding based on a cross-component correlation
CN112997501A (en) System and method for reference offset signaling in video coding
US12010301B2 (en) Systems and methods for performing intra prediction coding in video coding
WO2021045171A1 (en) Systems and methods for performing inter prediction coding in video coding
CN114026858B (en) System and method for deriving quantization parameters for video blocks in video encoding
WO2020262524A1 (en) Systems and methods for applying deblocking filters to reconstructed video data
HK40060236A (en) Prediction signal filtering in affine linear weighted intra prediction

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