CN113302923B - 用于在编码器和解码器中选择变换选择的方法和装置 - Google Patents

用于在编码器和解码器中选择变换选择的方法和装置 Download PDF

Info

Publication number
CN113302923B
CN113302923B CN201980086072.3A CN201980086072A CN113302923B CN 113302923 B CN113302923 B CN 113302923B CN 201980086072 A CN201980086072 A CN 201980086072A CN 113302923 B CN113302923 B CN 113302923B
Authority
CN
China
Prior art keywords
transform
flag
dct
horizontal
vertical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201980086072.3A
Other languages
English (en)
Other versions
CN113302923A (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.)
Telefonaktiebolaget LM Ericsson AB
Original Assignee
Telefonaktiebolaget LM Ericsson AB
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 Telefonaktiebolaget LM Ericsson AB filed Critical Telefonaktiebolaget LM Ericsson AB
Publication of CN113302923A publication Critical patent/CN113302923A/zh
Application granted granted Critical
Publication of CN113302923B publication Critical patent/CN113302923B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/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/12Selection from among a plurality of transforms or standards, e.g. selection between discrete cosine transform [DCT] and sub-band transform or selection between H.263 and H.264
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

提供了用于在编码和解码中进行变换选择的方法和装置的机制。

Description

用于在编码器和解码器中选择变换选择的方法和装置
技术领域
本申请涉及用于编码和解码中的变换选择的方法和装置。
背景技术
标准化多功能视频编码(VVC)下的视频编解码器的当前测试模型VTM包括被称为多变换选择(MTS)的工具。该工具允许编码器在三种不同的变换之间进行选择。这些变换由离散余弦变换(DCT)的两种变型和离散正弦变换(DST)的一种变型组成。在编码期间,通常在块的水平方向上执行变换,随后在垂直方向上执行第二变换。这两个变换是相互独立的,因此非常可能在不同方向上使用不同的变换。可以选择的变换集包括DCT-2、DST-7和DCT-8[2]。
编码器在选择要使用的变换时测试所有允许的组合。这些取决于块类型(帧间/帧内)、块大小、通道类型和预测模式。例如,对于亮度通道中大小在4×4样本和32×32样本之间的帧内块来说,测试了五种不同的组合:
1.水平DCT-2和垂直DCT-2
2.水平DST-7和垂直DST-7
3.水平DST-7和垂直DCT-8
4.水平DCT-8和垂直DST-7
5.水平DCT-8和垂直DCT-8
较大的块或色度通道中的块在两个方向上均仅使用DCT-2。该工具能够针对帧内预测和帧间预测单独启用。在通用测试条件(CTC)[1]下,该工具仅针对帧内预测块启用。当该工具被禁用时,编码器在两个方向均使用DCT-2。
为了减少对所选组合进行编码所需的比特数,可以使用具有自适应概率的算术编码器(上下文自适应二进制算术编码CABAC)。编码器使用不同的上下文,每个上下文指示单独的概率,以最有效的方式对二进制码(bin)进行编码。在比特流中,如下以信号通知编码器选择的组合:
·emt_cu_flag:使用6个CABAC上下文的1个二进制码,以信号通知是否在水平和垂直方向二者上使用DCT-2。基于当前块的分割深度来选择上下文。仅针对大小在4×4和32×32样本之间的亮度块并且仅当针对当前预测模式允许MTS时,以信号通知该标志。如果标志的值为0,则使用DCT-2,否则使用emt_tu_idx来确定变换的组合。
·emt_tu_idx:使用4个CABAC上下文的2个二进制码,以信号通知使用其余四个组合中的哪个组合。如果块是帧内编码的,则使用两个上下文,而其余2个上下文用于帧间编码的块。(在CTC中,由于MTS在CTC中对帧间编码关闭,因此不使用这最后两个上下文。)每个二进制码使用一个上下文,因此第一二进制码使用上下文0或2(取决于预测模式),而第二二进制码始终使用上下文1或3。这两个二进制码的可能值的范围从0(00指示两个方向上均进行DST-7)到3(11指示两个方向上均进行DCT-8)。如果emt_cu_flag的值为1,则仅以信号通知这两个二进制码。
在解码器中,执行对应的处理。首先,解析emt_cu_flag。如果该标志被设置,则解析emt_tu_idx以确定要使用的变换。
注意,在一些情况下,名称EMT(显式多核变换)或AMT(自适应多核变换)用于变换工具。这些是该工具先前的名称,此后已改变为MTS。由于所有名称指代同一工具,因此它们可以互换使用。
VVC标准的当前草案对所有可能的组合执行详尽搜索。这导致编码器花费大量时间测试不同的模式,其中一些模式不太可能被选择。此外,二进制编码器使用低效的方式以信号通知变换索引。
发明内容
实施例的第一方面定义了一种由解码器执行的方法。该方法包括:接收编码视频块,编码视频块具有使用基于上下文的自适应算术编码进行编码的至少一个标志。该方法包括:解析至少一个标志,以确定至少一个标志是否被设置为以信号通知要在水平方向和垂直方向二者上使用多个变换中的第一变换对编码视频块进行解码。响应于至少一个标志被设置为以信号通知要在水平方向和垂直方向二者上使用第一变换,该方法还包括:在水平方向和垂直方向上使用第一变换对编码视频块进行解码,以生成解码视频块。响应于至少一个标志被设置为以信号通知不要在水平方向和垂直方向二者上使用第一变换,该方法包括:解析至少一个标志中的第二标志,以确定第二标志是否被设置为以信号通知要在水平方向和垂直方向二者上使用多个变换中的第二变换对编码视频块进行解码,以生成解码视频块。响应于第二标志被设置为以信号通知要在水平方向和垂直方向二者上使用第二变换,该方法包括:使用第二变换在水平方向和垂直方向上对编码视频块进行解码,以生成解码视频块。响应于第二标志被设置为以信号通知不要在水平方向和垂直方向二者上使用第二变换,该方法包括:解析至少一个标志中的第三标志,以确定要在水平方向或垂直方向中的哪个方向上使用第二变换对编码视频块进行解码,以及确定要在水平方向或垂直方向中的哪个方向上使用第三变换对编码视频块进行解码。该方法包括:使用第二变换和第三变换对编码视频块进行解码,以生成解码视频块。
实施例的第二方面定义了一种解码器,该解码器包括至少一个处理器和耦接到处理器的存储器。存储器包括可由处理器执行的指令,所述指令使处理器执行:接收编码视频块,编码视频块具有使用基于上下文的自适应算术编码进行编码的至少一个标志。存储器包括可由处理器执行的指令,所述指令使处理器执行:解析至少一个标志,以确定至少一个标志是否被设置为以信号通知要在水平方向和垂直方向二者上使用多个变换中的第一变换对编码视频块进行解码。存储器包括可由处理器执行的指令,所述指令使处理器执行:响应于至少一个标志被设置为以信号通知要在水平方向和垂直方向二者上使用第一变换,在水平方向和垂直方向上使用第一变换对所述编码视频块进行解码,以生成解码视频块。存储器包括可由处理器执行的指令,所述指令使处理器执行:响应于至少一个标志被设置为以信号通知不要在水平方向和垂直方向二者上使用第一变换,解析至少一个标志中的第二标志,以确定第二标志是否被设置为以信号通知要在水平方向和垂直方向二者上使用多个变换中的第二变换对编码视频块进行解码,以生成解码视频块。存储器包括可由处理器执行的指令,所述指令使处理器执行:响应于所述至少一个标志被设置为以信号通知要在水平方向和垂直方向二者上使用第一变换,在水平方向和垂直方向上使用第二变换对所述编码视频块进行解码,以生成解码视频块。存储器包括可由处理器执行的指令,所述指令使处理器执行:响应于至少一个标志被设置为以信号通知不要在水平方向和垂直方向二者上使用第一变换,解析所述至少一个标志中的第三标志,以确定要在水平方向或垂直方向中的哪个方向上使用第二变换对所述编码视频块进行解码,以及确定要在水平方向或垂直方向中的哪个方向上使用第三变换对所述编码视频块进行解码。存储器包括可由处理器执行的指令,所述指令使处理器执行:使用第二变换和第三变换对编码视频块进行解码,以生成解码视频块。
实施例的第三方面定义了一种用于解码器的计算机程序。该计算机程序包括代码手段,所述代码手段当在计算机上运行时使该计算机:接收编码视频块,编码视频块具有使用基于上下文的自适应算术编码进行编码的至少一个标志。该计算机程序包括代码手段,所述代码手段当在计算机上运行时使该计算机:解析至少一个标志,以确定至少一个标志是否被设置为以信号通知要在水平方向和垂直方向二者上使用多个变换中的第一变换对编码视频块进行解码。该计算机程序包括代码手段,所述代码手段当在计算机上运行时使该计算机:响应于至少一个标志被设置为以信号通知要在水平方向和垂直方向二者上使用第一变换,在水平方向和垂直方向上使用第一变换对编码视频块进行解码,以生成解码视频块。该计算机程序包括代码手段,所述代码手段当在计算机上运行时使该计算机:响应于至少一个标志被设置为以信号通知不要在水平方向和垂直方向二者上使用第一变换,解析至少一个标志中的第二标志,以确定第二标志是否被设置为以信号通知要在水平方向和垂直方向二者上使用多个变换中的第二变换对编码视频块进行解码,以生成解码视频块。该计算机程序包括代码手段,所述代码手段当在计算机上运行时使该计算机:响应于第二标志被设置为以信号通知要在水平方向和垂直方向二者上使用第二变换,在水平方向和垂直方向上使用第二变换对编码视频块进行解码,以生成解码视频块。响应于第二标志被设置为以信号通知不要在水平方向和垂直方向二者上使用第二变换,解析至少一个标志中的第三标志,以确定要在水平方向或垂直方向中的哪个方向上使用第二变换对编码视频块进行解码,以及确定要在水平方向或垂直方向中的哪个方向上使用第三变换对编码视频块进行解码。该计算机程序包括代码手段,所述代码手段当在计算机上运行时使该计算机:使用第二变换和第三变换对编码视频块进行解码,以生成解码视频块。
实施例的第四方面定义了一种计算机程序产品,包括计算机可读装置和存储在计算机可读装置上的根据第三方面的计算机程序。
实施例的第五方面定义了一种由编码器执行的方法。该方法包括:接收视频块以进行编码。该方法包括:确定视频块的特性。该方法还包括:响应于特性具有指示使用多变换选择的类型,在多个变换中选择第一变换,第一变换是多变换选择的一部分并且是在对视频块进行编码时使用的计算成本最高或最不可能使用的变换之一。该方法包括:在水平方向和垂直方向上测试多个变换的组合,而不测试在水平方向和垂直方向二者上使用第一变换的组合。该方法包括:从组合中选择提供最低率失真的组合。该方法包括:使用所选择的组合对视频块进行编码,以生成编码视频块。该方法包括:响应于特性具有指示不使用多变换选择的类型,在水平方向和垂直方向上使用缺省变换对视频块进行编码。
实施例的第六方面定义了一种用于基于块的块大小对视频的所述块进行编码的编码器,其中,使用变换对块的水平方向和垂直方向中的每个方向进行编码,其中,变换是第一变换、第二变换或第三变换中的一个变换。该编码器包括:至少一个处理器和耦接到处理器的存储器。该存储器包括可由处理器执行的指令,所述指令使处理器执行:确定视频块的特性。该存储器包括可由处理器执行的指令,所述指令使处理器执行:响应于所述特性具有指示使用多变换选择的类型,在多个变换中选择第一变换,第一变换是多变换选择的一部分并且是在对视频块进行编码时使用的计算成本最高或最不可能使用的变换之一。该存储器包括可由处理器执行的指令,所述指令使处理器执行:在水平方向和垂直方向上测试多个变换的组合,而不测试在水平方向和垂直方向二者上使用第一变换的组合。该存储器包括可由处理器执行的指令,所述指令使处理器执行:从组合中选择提供最低率失真的组合。该存储器包括可由处理器执行的指令,所述指令使处理器执行:使用所选择的组合对视频块进行编码,以生成编码视频块。该存储器包括可由处理器执行的指令,所述指令使处理器执行:响应于特性具有指示不使用多变换选择的类型,在水平方向和垂直方向上使用缺省变换对视频块进行编码。
实施例的第七方面定义了一种用于基于块的块大小对视频的块进行编码的计算机程序,其中,使用变换对块的水平方向和垂直方向中的每个方向进行编码,其中,变换是第一变换、第二变换或第三变换中的一个变换。该计算机程序包括代码手段,所述代码手段当在计算机上运行时使该计算机:确定视频块的特性。该计算机程序包括代码手段,所述代码手段当在计算机上运行时使该计算机:响应于特性具有指示使用多变换选择的类型,在多个变换中选择第一变换,第一变换是多变换选择的一部分并且是在对视频块进行编码时使用的计算成本最高或最不可能使用的变换之一。该计算机程序包括代码手段,所述代码手段当在计算机上运行时使该计算机:在水平方向和垂直方向上测试多个变换的组合,而不测试在水平方向和垂直方向二者上使用第一变换的组合。该计算机程序包括代码手段,所述代码手段当在计算机上运行时使该计算机:从组合中选择提供最低率失真的组合。该计算机程序包括代码手段,所述代码手段当在计算机上运行时使该计算机:使用所选择的组合对视频块进行编码,以生成编码视频块。该计算机程序包括代码手段,所述代码手段当在计算机上运行时使该计算机:响应于特性具有指示不使用多变换选择的类型,在水平方向和垂直方向上使用缺省变换对视频块进行编码。
实施例的第八方面定义了一种计算机程序产品,包括计算机可读装置和存储在计算机可读装置上的根据第七方面的计算机程序。
本发明构思提供的优点包括通过移除上述五种组合之一来降低编码器的复杂性。通过对某些块大小使用不太复杂的变换,来降低编码器和解码器二者的复杂度。此外,随着最常见组合(两个方向上均进行DST-7)的二进制码的数量从3减少到2,二值化的效率得到提高。
附图说明
包括以提供对本公开的进一步理解并且被并入并构成本申请的一部分的附图示出了发明构思的某些非限制性实施例。在附图中:
图1是示出了根据一些实施例的可以实现编码器和解码器的系统的环境的示例的框图;
图2是示出了根据一些实施例的编码器的框图;
图3是示出了根据一些实施例的解码器的框图;
图4是示出了MTS工具的组件的框图;
图5是示出了根据一些实施例的MTS工具的组件的框图;
图6是示出了根据一些实施例的MTS工具的组件的框图;
图7至图11是示出了根据本发明构思的一些实施例的编码器和/或解码器的操作的流程图。
具体实施方式
现在将在下文中参考附图更全面地描述本发明构思,其中示出了本发明构思的实施例的示例。然而,本发明的构思可以以许多不同的形式体现并且不应被解释为限于本文阐述的实施例。相反,提供这些实施例是为了使本公开彻底和完整,并将向本领域技术人员充分传达本发明构思的范围。还应注意,这些实施例并不相互排斥。来自一个实施例的组件可以被默认假设为在另一实施例中存在/使用。
以下描述呈现了所公开主题的各种实施例。这些实施例被呈现为教导示例并且不应被解释为限制所公开主题的范围。例如,在不脱离所描述的主题的范围的情况下,可以修改、省略或扩展所描述的实施例的某些细节。
图1示出了编码器100的操作环境的示例,其可以用于如本文所述对比特流进行编码。编码器100具有在编码中使用的多变换选择(MTS)组件102。编码器100从网络104和/或从存储设备106接收视频,并针对视频的如下所述定义的块大小使用MTS组件102以将视频编码到比特流中,并且经由网络110将编码视频发送给解码器108。存储设备106可以是视频存储库(例如商店或流视频服务的存储库)的一部分、单独的存储组件、移动设备的组件等。解码器108可以是具有音频/视频(A/V)媒体播放器114的设备112的一部分。设备112可以是移动设备、机顶设备、台式计算机等。
图2是示出了根据本发明构思的一些实施例的被配置为对视频帧进行编码的编码器100的元件的框图。如图所示,编码器100可以包括被配置为提供与其他设备/实体/功能/等的通信的网络接口电路205(也称为网络接口)。编码器100还可以包括耦接到网络接口电路205的处理器电路201(也称为处理器)和耦接到处理器电路的存储器电路203(也称为存储器)。存储器电路203可以包括计算机可读程序代码,该计算机可读程序代码在由处理器电路201执行时,使处理器电路执行根据本文公开的实施例的操作。
根据其他实施例,处理器电路201可以被定义为包括存储器,使得不需要单独的存储器电路。如本文所讨论的,编码器100的操作可以由处理器201和/或网络接口205执行。例如,处理器201可以控制网络接口205向解码器108发送通信和/或通过网络接口104从诸如其他编码器节点、库服务器等的一个或多个其他网络节点/实体/服务器接收通信。此外,模块可以存储在存储器203中,并且这些模块可以提供指令,使得模块的指令在由处理器201执行时,处理器201执行相应操作。
图3是示出了根据本发明构思的一些实施例的被配置为对视频帧进行解码的解码器108的元件的框图。如图所示,解码器108可以包括被配置为提供与其他设备/实体/功能/等的通信的网络接口电路305(也称为网络接口)。解码器108还可以包括耦接到网络接口电路305的处理器电路301(也称为处理器)和耦接到处理器电路的存储器电路303(也称为存储器)。存储器电路303可以包括计算机可读程序代码,该计算机可读程序代码在由处理器电路301执行时,使处理器电路执行根据本文公开的实施例的操作。
根据其他实施例,处理器电路301可以被定义为包括存储器,使得不需要单独的存储器电路。如本文所讨论的,解码器108的操作可以由处理器301和/或网络接口305执行。例如,处理器301可以控制网络接口305从编码器100接收通信。此外,模块可以存储在存储器303中,并且这些模块可以提供指令,使得当模块的指令被处理器301执行时,处理器301执行相应的操作。
由本文描述的发明构思提供的潜在优势包括:在以软件实现编码器的情况下通过限制要评估的变换组合的数量来减少编码器运行时间。在以硬件实现编码器的情况下,复杂性降低可以采取另一形式,例如降低硅面积使用而不是编码器运行时间。
本文描述的实施例通过针对某些块大小将使用的计算成本高的变换或者不频繁使用的变换替换为另一变换,来降低编码器和解码器二者的复杂性。例如,在被配置为在VVC标准下操作的编码器中,对于某些块大小,相对来说计算成本高的DCT-8可以被替换为相对来说计算成本低的DCT-2。
此外,通过使用CABAC上下文来二值化emt_cu_flag和emt_tu_idx,提高了压缩效率。
进一步的改进在于存储器使用量的减少,因为不必将用于被替换的变换(例如,大小为32的DCT-8)的变换系数存储在存储器中。在硬件实现中,这可以转化为更小的硅表面积。
例如,在基于根据[1]中描述的通用测试条件(CTC)使用VTM-2.0.1的锚(anchor)的实现中,压缩效率(亮度的平均BD率)在所有帧内配置中提高了0.07%,在随机访问(RA)配置中提高了0.02%。同时,与锚相比,编码时间分别减少到85%(AI)和95%(RA)。这对解码器的复杂性的影响(如果有的话)很小,但在影响的程度上,它是有利的。引起这种情况的一个原因是由于移除了对水平DCT-8和垂直DCT-8的高计算成本组合的使用方法。在VTM-3.0中实现相同的修改时,压缩效率提高了0.03%(AI)和0.01%(RA),而编码器运行时间分别减少到88%(AI)和98%(RA)。
在下面的描述中,被配置为根据VVC标准化的部分执行的编码器和解码器用于描述本发明构思。可以使用本文描述的构思来实现其他标准化。
图4示出了当前如何实现MTS工具的实施例。图5示出了在一个实施例中如何改变图4的MTS。在图4中,每个节点都标记有跟随冒号的字母(即“a:”到“j:”)。在图5中,每个节点都标记有跟随冒号的两个字母(即“aa:”到“hh:”)。在图6中,每个节点都标记有跟随冒号的三个字母(即,“aaa:”到“jjj:”)。发明人认识到对目前在VVC标准草案中实现的MTS工具的若干不同概念可用于提高编码器和解码器的计算效率。在对改变的以下描述中,图4至图6的节点在图中以一个或多个字母表示。基于图4,进行了以下改变:
改变1:不再允许分支2(节点g)中的水平DCT-8和垂直DCT-8的组合。这意味着编码器不会评估这种组合,因此减少了评估运行时间。解码器可以得出结论,如果mts_tu_idx_hor指示DCT-8(节点e),则随着改变,mts_tu_idx_ver将始终指示DST-7(节点h)。
改变2:对于某些块大小,分支2(图4中的节点e、g和i,图5中的节点gg和hh)中的DCT-8被替换为DCT-2。如果块具有特定大小,则编码器应知道在分支2中它应评估DCT-2而不是DCT-8。在改变1上增加这一点,因为对于这些块,不应评估分支2中水平DCT-2和垂直DCT-2的组合,因为这种确切情况已在分支1中涵盖。在块具有特定大小并且mts_tu_idx_hor或mts_tu_idx_ver指示使用DCT-8的情况下,解码器通过应用DCT-2而不是DCT-8来确认该改变。由于该改变,以下文本指代DCT-X,这对于一些块大小意味着DCT-8,并且对于其他块大小意味着DCT-2。
改变3:水平DST-7和垂直DST-7的组合(节点j),这是最通用的变换组合,在图5的编码树中移动到水平DCT-X当前占据的位置(节点ee)。由于改变1,如果mts_tu_idx_hor指示DCT-X,则不需要对mts_tu_idx_ver进行编码。该改变利用了该省略。
改变4:由于mts_tu_idx_ver标志仅基于mts_tu_idx_hor标志的值进行编码,因此两个标志都被移除并替换为两个新标志。两个新标志(也在图5中示出)是mts_dst_flag和mts_tu_flag。
a)mts_dst_flag指示是否在两个方向上均使用DST-7。
b)mts_tu_fl ag指示要使用DCT-X和DST-7的方向。
改变5:mts_tu_flag以信号通知使用更优选的组合还是不太优选的组合。基于帧内预测的方向来进行对哪个可用组合更优选的确定。如果块正在使用帧间预测,则该标志还以信号通知是否使用更优选的组合,但是基于不同的信息(例如块大小或块形状)来确定哪个组合更优选。
改变6:之前,基于分割深度来进行mts_cu_flag的上下文选择。在这些改变中,基于块的较大维度(宽度或高度)以及帧内预测的方向来确定正确的上下文。如果块使用帧间预测,则基于不同的信息(例如块大小或块形状)来选择上下文。
改变7(参见图6):mts_tu_idx_hor标志被指示两个变换是否相同的标志(例如,mst_same_flag)替换。如果设置了该标志,则应在两个方向上使用相同的变换。将对附加比特进行编码以指示使用哪个变换。如果未设置该标志,则将在两个方向上使用两个不同的变换,并对附加比特进行编码以指示在哪个方向上使用哪个变换。
改变1到改变6反映在图5中,改变7反映在图6中。在下面的描述中,将描述各种实施例,以指示对于块的特定块大小和对于块的特定类型(即,帧间编码的块或帧内编码的块)做出哪些改变。
在描述基于以上改变的各种实施例之前,将描述编码器100和解码器108如何在实施的改变下操作的概述。现在转向图7,编码器100在操作701中确定要编码的视频块的特性。特性可以是块大小、块类型(帧间/帧内)、通道类型、预测模式、块的维度(宽度或高度)以及帧内预测的方向等。
响应于特性具有指示使用多变换选择组件的类型,编码器100在操作703中从多选择变换组件(MST)使用的多个变换中选择第一变换,第一变换是在对视频块进行编码时计算成本最高或最不可能使用的变换。例如,当MST使用的变换是DCT-2、DST-7和DCT-8时,DCT-8通常是使用起来计算成本最高的。在这种场景下,可以选择DCT-8变换并将其指定为第一变换。
在操作705中,编码器100测试变换的组合而不测试在水平方向和垂直方向二者上使用第一变换的组合。例如,应不会在水平方向和垂直方向二者上对操作703中描述的场景中的DCT-8变换进行测试。
在操作707中,选择与其他测试组合相比提供最低率失真的组合。其他判定因素也可以用于选择要使用的组合。例如,其中一个变换优于另一个变换并且两个变换具有相当的率失真,则可以使用优选变换。
在操作709中,使用所选择的组合对视频块进行编码以生成编码块。在操作711中,将编码块发送给解码器(例如解码器108),该编码块带有以下标志:解码器用于确定编码中使用哪个组合并要用于对编码块进行解码的标志。
响应于特性不具有该类型,在水平方向和垂直方向上均使用缺省变换对视频块进行编码。在一个实施例中,DCT-2变换可以用作缺省变换。在操作715中,将编码块发送给解码器(例如解码器108),该编码块带有以下标志:解码器用于确定编码中使用哪个组合并且要用于对编码块进行解码的标志。
现在转向图8,示出了解码器108可以执行的操作。在操作801中,解码器接收具有标志的编码视频块。在操作803中,解析第一标志以确定是否设置了该标志。第一标志可以是mts_cu_flag。标志设置可以指示是否要在水平方向和垂直方向二者上使用第一变换对编码视频块进行解码。例如,在一个实施例中,设置可以是二进制设置1或0。换言之,第一标志等于第一值或第二值。设置为1可以指示要在两个方向上均使用第一变换。在其他实施例中,设置为0可用于指示要在两个方向上均使用第一变换。
在操作805中,响应于第一标志具有与在两个方向上均使用第一变换相关联的值(例如,第一标志等于第一值),在水平方向和垂直方向二者上使用第一变换对视频块进行解码。例如,可以在水平方向和垂直方向二者上使用DCT-2变换对视频块进行解码。
在操作807中,响应于第一标志设置具有与在两个方向上均不使用第一变换相关联的值,解析第二标志。解析第二标志以确定第二标志设置。标志设置可以指示是否要在水平方向和垂直方向二者上使用第二变换对编码视频块进行解码。例如,在一个实施例中,该设置可以是二进制设置1或0。换言之,第二标志等于第一值或第二值。设置为1可以指示要在两个方向上均使用第二变换。在其他实施例中,设置为0可用于指示要在两个方向上均使用第二变换。
第二变换可以是两个变换之一。可以解析第二标志以确定要使用两个变换中的哪个变换对视频块进行解码。例如,一个实施例中的两个变换可以是DST-7变换和DCT-8变换。
在操作809中,响应于第二标志具有与在两个方向上均使用第二变换相关联的值(例如,第二标志等于第一值),在水平方向和垂直方向二者上使用第二变换对视频块进行解码。例如,在操作809中,可以在水平方向和垂直方向二者上使用DST-7变换对视频块进行解码。
在操作811中,响应于第二标志设置具有与在两个方向上均不使用第二变换相关联的值,解析第三标志。解析第三标志以确定第三标志设置。第三标志设置可以指示是否要在水平方向或垂直方向上使用第二变换对编码视频块进行解码,以及是否要在水平方向和垂直方向中的另一个方向上使用第三变换进行解码。这可以是第一优选变换组合。例如,在一个实施例中,该设置可以是二进制设置1或0。设置为1可以指示要在水平方向上使用第二变换,并且要在垂直方向上使用第三变换。在其他实施例中,设置为0可用于指示要在水平方向上使用第二变换,并且要在垂直方向上使用第三变换。这可以是第二优选变换组合。实施例中的第三变换可以是第一变换。
在操作813中,基于第三标志的设置,在水平方向或垂直方向上使用第二变换对视频块进行解码。例如,在操作813中,可以在水平方向上使用DST-7变换并且在垂直方向上使用DCT-2或DCT-8变换来对视频块进行解码。备选地,在操作813中,可以在垂直方向上使用DST-7变换并在水平方向上使用DCT-2或DCT-8变换来对视频块进行解码。
在操作815中,解码器可以将解码视频块输出到媒体播放器以回放解码视频块。
现在转向图9,在备选实施例中,解码器108在操作901中基于编码视频块的块大小来确定是否满足第一准则。准则可以是块大小、块类型(帧间/帧内)、通道类型、预测模式、块的维度(宽度或高度)等。
在操作903中,响应于满足第一准则,解码器从以下之一中选择变换组合:在垂直方向和水平方向二者上进行第一变换;在垂直方向和水平方向二者上进行第三变换;在垂直方向上进行第一变换和在水平方向上进行第三变换;以及在垂直方向上进行第三变换和在水平方向上进行第一变换。
在操作905中,响应于满足第一准则,解码器从以下之一中选择变换组合:在垂直方向和水平方向二者上进行第一变换;在垂直方向和水平方向二者上进行第三变换;在垂直方向上进行第二变换和在水平方向上进行第三变换;以及在垂直方向上进行第三变换和在水平方向上进行第二变换。
在操作907中,解码器使用所选择的组合对块进行解码。在操作909中,解码器可以向媒体播放器发送编码块。
下面描述的实施例中的第一变换是DCT-2变换,第二变换是DCT-8变换,并且第三变换是DST-7变换。在以下实施例的描述中,第一准则是块大小。
在第一实施例中,对于允许MTS工具的所有块大小进行改变1,并且对于至少一个维度具有32个样本长度的所有块进行改变2。在该第一实施例中,大小为16×16或更小的所有块评估以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-8
-水平DCT-8和垂直DST-7
对于第一实施例中大小为32×N或N×32的块,其中N可以是4、8、16或32,评估以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-2
-水平DCT-2和垂直DST-7
解码器可以基于经解析的标志和块大小来确定正确的变换组合。如果块大小为16×16或更小,则经解码的二进制码可以指示以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-8
-水平DCT-8和垂直DST-7
如果第一实施例中块的大小为32×N或N×32,其中N可以是4、8、16或32(即,当编码块的大小为32×N或N×32的形式时满足图9的第一准则,其中N可以假定为值4、8、16或32),可以指示以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-2
-水平DCT-2和垂直DST-7
表1示出了在第一实施例中使用DCT-2和DCT-8的情况:
表1
在第二实施例中,对于允许MTS工具的所有块大小进行改变1,并且对于大小为16×32、32×16或32×32的所有块进行改变2。在该实施例中,所有大小为16×16或更小、4×32、8×32、32×4和32×8的块评估以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-8
-水平DCT-8和垂直DST-7
对于第二实施例中大小为32×16、16×32或32×32的块,评估以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-2
-水平DCT-2和垂直DST-7
解码器能够基于经解析的标志和块大小来确定正确的变换组合。如果块大小为16×16或更小、4×32、8×32、32×4或32×8,则经解码的二进制码可以指示以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-8
-水平DCT-8和垂直DST-7
如果在第二实施例中块的大小为32×16、16×32或32×32(即,当编码块的大小为32×32或32×16或16×32的形式时满足图9的第一准则),可以指示以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-2
-水平DCT-2和垂直DST-7
表2示出了在第二实施例中使用DCT-2和DCT-8的情况:
表2
在第三实施例中,对所有块大小进行改变1、3和4。如果图5中到右侧的步骤被编码为“1”,到左侧的步骤被编码为“0”,则组合应当编码如下:
水平变换 垂直变换 mts_cu_flag mts_dst_flag mts_tu_flag
DCT-2 DCT-2 0
DST-7 DST-7 1 0
DST-7 DCT-X 1 1 0
DCT-X DST-7 1 1 1
表3
解码器应解析标志并基于经解码的二进制码来确定变换的组合。关于图8,mts_cu_flag可以是第一标志,mts_dst_flag可以是第二标志,并且mts_tu_flag可以是第三标志。
mts_cu_flag mts_dst_flag mts_tu_flag 水平变换 垂直变换
0 DCT-2 DCT-2
1 0 DST-7 DST-7
1 1 0 DST-7 DCT-X
1 1 1 DCT-X DST-7
表4
在一组实施例中,对所有块大小进行改变1、3、4和5。作为示例,可以通过将mts_tu_flag设置为“1”来标记改变5中描述的更优选的组合,并且可以通过将mts_tu_flag设置为“0”来标记改变5中描述的不太优选的组合。图10示出了该实施例。转到图10,解码器可以使用表4来确定要使用的变换组合。在操作1001中,解码器解析第一标志以确定第一标志等于第一值还是第二值。在操作1003中,响应于第一标志等于第一值,选择第一变换以在垂直方向和水平方向二者上对编码块进行解码。在操作1005中,响应于第一标志等于第二值,解析第二标志以确定第二标志等于第一值还是第二值。在操作1007中,响应于第二标志等于第一值,选择第三变换以在垂直方向和水平方向二者上对编码块进行解码。在操作1009中,响应于第二标志等于第二值,解析第三标志以确定第三标志等于第一值还是第二值。在操作1011中,响应于第三标志等于第一值,选择更优选的变换组合来对编码块进行解码。在操作1013中,响应于第三标志等于第二值,选择不太优选的变换组合对编码块进行解码。
在作为一组实施例之一的第五实施例中,如果块使用帧内预测,则如果帧内方向相比于接近垂直更接近水平,则使用水平DST-7和垂直DCT-X的组合被认为是更优选的。同时,如果帧内方向相比于接近水平更接近垂直,则使用水平DCT-X和垂直DST-7的组合被认为是更优选的。因此,解码器将基于块的帧内方向来确定组合。
如果帧内方向例如是纯水平的,并且解码器将mts_tu_flag读取为‘1’,则解码器将使用水平DST-7和垂直DCT-X的变换组合。如果标志被读取为‘0’,则解码器将使用水平DCT-X和垂直DST-7的变换组合。
如果帧内方向例如是纯垂直的,并且解码器将mts_tu_flag读取为‘1’,则解码器将使用水平DCT-X和垂直DST-7的变换组合。如果标志被读取为‘0’,则解码器将使用水平DST-7和垂直DCT-X的变换组合。
在作为一组实施例之一的第六实施例中,如果块使用帧间预测,则在块的宽度大于高度的情况下,使用水平DST-7和垂直DCT-X的组合被认为是更有可能的。如果块的高度大于宽度,则使用水平DCT-X和垂直DST-7的组合被认为是更有可能的。
如果块具有例如16×4样本的大小,并且解码器将mts_tu_flag读取为‘1’,则解码器将使用水平DST-7和垂直DCT-X的变换组合。如果标志被读取为‘0’,则解码器将使用水平DCT-X和垂直DST-7的变换组合。
如果块具有例如4×16样本的大小,并且解码器将mts_tu_flag读取为‘1’,则解码器将使用水平DCT-X和垂直DST-7的变换组合。如果标志被读取为‘0’,则解码器将使用水平DST-7和垂直DCT-X的变换组合。
在上述实施例中,45度预测方向接近水平和垂直的程度相同。因此,解码器和编码器必须就打破平局规则达成一致,以相同的方式处理45度方向。在以上的一组实施例中,这是通过将45度方向视为相比于水平方向更为垂直来处理的。在不同的实施例中,使用不同的打破平局规则可以是有利的,例如将45度方向视为水平方向。另一种可能性是在不同于45度方向的另一个角度上改变。作为示例,不仅将45度方向视为垂直方向,而且将例如43度方向视为垂直方向可以是有利的,尽管它们在数学上更接近水平方向。一般地,因此可以在打破平局规则中使用任何角度,而不仅仅是对角线方向。
应定义打破平局规则的另一种情况是非方向性帧内预测模式(平面(Planar)或DC)。在上述一组实施例中,这些预测被视为相比于垂直更加水平。在略微不同的实施例中,将这些视为相比于水平更加垂直可能是有利的。例如,在一个实现方式中,帧内模式0-34被视为更接近水平并且帧内模式35-66被视为更接近垂直。
在第七实施例中,改变6被用于帧内编码块。基于块的长边和帧内方向来进行用于对mts_cu_flag进行编码和解码的上下文的选择。帧内方向被分为两组,一组更优选使用水平和垂直DCT-2,另一组不太优选使用水平和垂直DCT-2。对于不同的块大小,这些组可以是相同的。例如,如果帧内模式接近水平或垂直,则在水平方向和垂直方二者上使用DCT-2可能更优选。在同一示例中,如果帧内方向接近对角线,则该组合不太受欢迎。
转向图11,在操作1101中,解码器确定块的大小是32×N还是N×32,其中N可以是4、8、16或32。在操作1103中,响应于块大小是32×N或N×32之一,并且帧内方向接近水平或接近垂直(即,如操作1103中确定的,帧内方向通过了水平接近度测试或垂直接近度测试之一),例如,如果帧内方向是纯水平的,则在操作1105中将选择例如具有第一标识符(id)0的一个上下文。
响应于块大小为32×N或N×32,其中N可以是4、8、16或32,并且帧内方向接近对角线(即,如操作1103中确定的,帧内方向没有通过水平接近度测试或垂直接近度测试之一),例如,如果帧内方向是纯对角线,则在操作1107中将选择例如具有第二id 1的不同上下文。
在操作1108中,解码器确定块的大小是16×N还是N×16,其中N可以是4、8或16。在操作1111中,响应于块大小是16×N或N×16之一并且帧内方向接近水平或接近垂直(即,如在操作1111中确定的,帧内方向通过了水平接近度测试或垂直接近度测试之一),例如,如果帧内方向是纯垂直的,则在操作1113中将选择例如具有第三id 2的不同上下文。
响应于块的大小为16×N或N×16,其中N可以是4、8或16,并且帧内方向接近对角线(即,如在操作1111中确定的,帧内方向没有通过水平接近度测试或垂直接近度测试之一),例如,如果帧内方向是纯对角线,则在操作1115中将选择例如具有第四id 3的不同上下文。
在操作1117中,解码器确定块的大小是否为8×8、8×4、4×8或4×4。在操作1119中,响应于块大小为8×8、8×4、4×8或4×4之一并且帧内方向接近水平或接近垂直(即,如在操作1119中确定的,帧内方向通过了水平接近度测试或垂直接近度测试之一),例如,如果帧内方向是纯水平的,则在操作1121中将选择例如具有第五id 4的不同上下文。
响应于块大小为8×8、8×4、4×8或4×4并且帧内方向接近对角线(即,如在操作1119中确定的,帧内方向没有通过水平接近度测试或垂直接近度测试之一),例如,如果帧内方向是纯对角线,则在操作1123中将选择例如具有第六id 5的不同上下文。
这可以总结在下表中:
表5
如先前实施例中所述,对于预测方向接近水平和垂直程度相同的情况,应当针对编码器和解码器定义一组打破平局规则。还应针对非方向性帧内预测模式平面(Planar)或DC定义打破平局规则。例如,在一个实现方式中,帧内模式10-22可以被视为接近水平并且可以被视为是水平的,帧内模式46-57可以被视为接近垂直并且可以被视为是垂直的,并且其余帧内模式0-9、23-45和58-66可以被视为接近对角线并被视为对角线。
在第八实施例中,改变6被用于帧间编码块。基于块大小和形状来选择用于对mts_cu_flag进行编码和解码的上下文。例如,可以如下选择六个上下文:
a)如果在第八实施例中块的大小为4×32或32×4,则使用例如具有标识符(id)0的一个上下文。
b)如果在第八实施例中块的大小为4×16、8×32、32×8或16×4,则使用例如具有id 1的不同上下文。
c)如果在第八实施例中块的大小为4×8或8×4,则使用例如具有id 2的不同上下文。
d)如果在第八实施例中块的大小为8×16、16×32、32×16或16×8,则使用例如具有id 3的不同上下文。
e)如果在第八实施例中块的大小为16×16或32×32,则使用例如具有id 4的不同上下文。
f)如果在第八实施例中块的大小为8×8或4×4,则使用例如具有id 5的不同上下文。
第八实施例可以总结在表6中:
表6
在第九实施例中,对于允许MTS工具的所有块大小进行改变1,并且对于至少一个维度具有16或32个样本长度的所有块进行改变2。在该实施例中,大小为8×8或更小的所有块评估以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-8
-水平DCT-8和垂直DST-7
对于第九实施例中大小为16×N、N×16、32×N或N×32的块,其中N可以是4、8、16或32,评估以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-2
-水平DCT-2和垂直DST-7
解码器可以基于经解析的标志和块大小来确定正确的变换组合。如果块大小为8×8或更小,则经解码的二进制码可以指示以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-8
-水平DCT-8和垂直DST-7
如果在第九实施例中块的大小为16×N、N×16、32×N或N×32,其中N可以是4、8、16或32(即,当编码块大小为16×N、N×16、32×N或N×32的形式时满足图9的第一准则,其中N可以假定为值4、8、16或32),则可以指示以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-2
-水平DCT-2和垂直DST-7
表7示出了在第九实施例中使用DCT-2和DCT-8的情况:
表7
在第十实施例中,对于允许MTS工具的所有块大小进行改变1,并且对于至少一个维度具有32个样本或4个样本长度的所有块进行改变2。在该实施例中,大小为8×8、8×16、16×8或16×16的所有块评估以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-8
-水平DCT-8和垂直DST-7
对于第十实施例中大小为4×N、N×4、32×N或N×32的块,其中N可以是4、8、16或32,评估以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-2
-水平DCT-2和垂直DST-7
解码器可以基于经解析的标志和块大小来确定正确的变换组合。如果块大小为8×8、8×16、16×8或16×16,则经解码的二进制码可以指示以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-8
-水平DCT-8和垂直DST-7
如果在第十实施例中块的大小为4×N、N×4、32×N或N×32,其中N可以是4、8、16或32(即,当编码块大小为4×N、N×4、32×N或N×32的形式时满足图9的第一准则,其中N可以假定为值4、8、16或32),则可以指示以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-2
-水平DCT-2和垂直DST-7
表8示出了在第十实施例中使用DCT-2和DCT-8的情况:
表8
在第十一实施例中,对于允许使用MTS工具的所有块大小进行改变1,并且对于至少一个维度具有32个样本长度或块大小为4×4个样本的所有块进行改变2。在该实施例中,大小为16×16或更小但大于4×4的所有块评估以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-8
-水平DCT-8和垂直DST-7
对于第十一实施例中大小为4×4、32×N或N×32的块,其中N可以是4、8、16或32,评估以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-2
-水平DCT-2和垂直DST-7
解码器可以基于经解析的标志和块大小来确定正确的变换组合。如果块大小为16×16或更小但大于4×4,则经解码的二进制码可以指示以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-8
-水平DCT-8和垂直DST-7
如果在第十一实施例中块的大小为4×4、32×N或N×32,其中N可以是4、8、16或32(即,当编码块大小为4×4、32×N或N×32的形式时满足图9的第一准则,其中N可以假定为值4、8、16或32),则可以指示以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-2
-水平DCT-2和垂直DST-7
表9示出了在第十一实施例中使用DCT-2和DCT-8的情况:
表9
在第十二实施例中,对于允许MTS工具的所有块大小进行改变1和2。在该实施例中,所有块评估以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-2
-水平DCT-2和垂直DST-7
解码器可以基于经解析的标志来确定正确的变换组合。经解码的二进制码可以指示以下组合:
-水平DCT-2和垂直DCT-2
-水平DST-7和垂直DST-7
-水平DST-7和垂直DCT-2
-水平DCT-2和垂直DST-7
在另一组实施例中,并入了改变7。以信号通知被称作mts_same_flag的标志,该标志指示块是否在水平方向和垂直方向二者上使用相同的变换。在一个实施例中,如果标志具有值‘1’,则块在两个方向上均使用相同的变换,而如果标志具有值‘0’,则将使用两个不同的变换。
在实施例中,mts_same_flag指示块在水平方向和垂直方向二者上使用相同的变换。以信号通知附加标志mts_tu_idx,来指示在两个方向上均使用DCT-8还是DST-7。
在另一实施例中,mts_same_flag指示块在水平方向和垂直方向上使用不同的变换。以信号通知附加标志mts_tu_idx,来指示是在水平方向上使用DCT-8并在垂直方向上使用DST-7,还是在水平方向上使用DST-7并在垂直方向上使用DCT-8。
解码器中的处理类似地工作。首先,解码器解析mts_same_flag,随后通过解析mts_tu_idx来确定要使用的正确变换组合。
在另一实施例中,解码器解析mts_same_flag,指示应在水平方向和垂直方向二者上使用相同的变换。之后,解码器解析mts_tu_idx,指示在两个方向上均使用DST-7还是DCT-8。
在另一实施例中,解码器解析mts_same_flag,指示应对当前块使用两个不同的变换。解码器解析mts_tu_idx,以确定是在水平方向上使用DCT-8并在垂直方向上使用DST-7,还是在水平方向上使用DST-7并在垂直方向上使用DCT-8。
因此,通过如本文所述的用两个新标志替换两个现有标志来禁用对CABAC编码造成改变的变换组合之一。另一个关键方面是在某些情况下用不同的变换来替换一个变换。
参考文献
[1]F.Bossen,J.Boyce,X.Li,V.Seregin,K.Sühring(editors):“JVET commontest conditions and software reference configurations for SDR video”,JVET-L1010,中国澳门,2018年10月;
[2]G.J.Sullivan,J.-R.Ohm:“Meeting Report of the 11th JVET Meeting,(Ljubljana,10–18July 2018)”,section 6.6,JVET-K1000,卢布尔雅那,2018年7月。

Claims (15)

1.一种由解码器执行的方法,所述方法包括:
接收编码视频块,所述编码视频块具有使用基于上下文的自适应算术编码进行编码的至少一个标志;
解析所述至少一个标志,以确定所述至少一个标志是否被设置为以信号通知要在水平方向和垂直方向二者上使用多个变换中的第一变换对所述编码视频块进行解码;
响应于所述至少一个标志被设置为以信号通知要在水平方向和垂直方向二者上使用所述第一变换:
在水平方向和垂直方向上使用所述第一变换对所述编码视频块进行解码,以生成解码视频块;
响应于所述至少一个标志被设置为以信号通知不要在水平方向和垂直方向二者上使用所述第一变换:
解析所述至少一个标志中的第二标志,以确定所述第二标志是否被设置为以信号通知要在水平方向和垂直方向二者上使用所述多个变换中的第二变换对所述编码视频块进行解码,以生成解码视频块;
响应于所述第二标志被设置为以信号通知要在水平方向和垂直方向二者上使用所述第二变换:
在水平方向和垂直方向上使用所述第二变换对所述编码视频块进行解码,以生成所述解码视频块;
响应于所述第二标志被设置为以信号通知不要在水平方向和垂直方向二者上使用所述第二变换:
解析所述至少一个标志中的第三标志,以确定要在水平方向或垂直方向中的哪个方向上使用所述第二变换对所述编码视频块进行解码,以及确定要在水平方向或垂直方向中的哪个方向上使用第三变换对所述编码视频块进行解码;以及
使用所述第二变换和所述第三变换对所述编码视频块进行解码,以生成所述解码视频块。
2.根据权利要求1所述的方法,其中,所述第二变换包括两个变换之一,所述方法还包括:解析所述第二标志,以确定要使用所述两个变换中的哪个变换对所述视频块进行解码。
3.根据权利要求2所述的方法,其中,所述两个变换包括离散正弦变换DST-7和离散余弦变换DCT-8。
4.根据权利要求1所述的方法,其中,所述第一变换包括DCT-2变换。
5.根据权利要求1所述的方法,其中,所述第二变换包括DST-7变换。
6.根据权利要求1所述的方法,其中,所述第三变换包括DCT-2变换或DCT-8变换。
7.根据权利要求1所述的方法,其中,水平方向上的解码包括在水平方向上应用来自所述多个变换的变换,并且其中,垂直方向上的解码包括在垂直方向上应用来自所述多个变换的变换。
8.一种解码器,包括:
至少一个处理器(301);
存储器(303),耦接到所述处理器,所述存储器包括可由所述处理器执行的指令,所述指令使所述处理器执行包括以下的操作:
接收编码视频块,所述编码视频块具有使用基于上下文的自适应算术编码进行编码的至少一个标志;
解析所述至少一个标志,以确定所述至少一个标志是否被设置为以信号通知要在水平方向和垂直方向二者上使用多个变换中的第一变换对所述编码视频块进行解码;
响应于所述至少一个标志被设置为以信号通知要在水平方向和垂直方向二者上使用所述第一变换:
在水平方向和垂直方向上使用所述第一变换对所述编码视频块进行解码,以生成解码视频块;
响应于所述至少一个标志被设置为以信号通知不要在水平方向和垂直方向二者上使用所述第一变换:
解析所述至少一个标志中的第二标志,以确定所述第二标志是否被设置为以信号通知要在水平方向和垂直方向二者上使用所述多个变换中的第二变换对所述编码视频块进行解码,以生成解码视频块;
响应于所述第二标志被设置为以信号通知要在水平方向和垂直方向二者上使用所述第二变换:
在水平方向和垂直方向上使用所述第二变换对所述编码视频块进行解码,以生成所述解码视频块;
响应于所述第二标志被设置为以信号通知不要在水平方向和垂直方向二者上使用所述第二变换:
解析所述至少一个标志中的第三标志,以确定要在水平方向或垂直方向中的哪个方向上使用所述第二变换对所述编码视频块进行解码,以及确定要在水平方向或垂直方向中的哪个方向上使用第三变换对所述编码视频块进行解码;以及
使用所述第二变换和所述第三变换对所述编码视频块进行解码,以生成所述解码视频块。
9.根据权利要求8所述的解码器,其中,所述第二变换包括两个变换之一,并且其中,所述存储器还包括使所述处理器执行以下操作的指令:解析所述第二标志,以确定要使用所述两个变换中的哪个变换对所述视频块进行解码。
10.根据权利要求9所述的解码器,其中,所述两个变换包括离散正弦变换DST-7和离散余弦变换DCT-8变换。
11.根据权利要求8所述的解码器,其中,所述第一变换包括DCT-2变换。
12.根据权利要求8所述的解码器,其中,所述第二变换包括DST-7变换。
13.根据权利要求8所述的解码器,其中,所述第三变换包括DCT-2变换或DCT-8变换。
14.一种计算机可读存储介质,其上存储有指令,所述指令当在计算机上运行时使所述计算机执行根据权利要求1所述的方法。
15.一种计算机程序产品,包括指令,所述指令当由计算机执行时,使所述计算机执行根据权利要求1所述的方法。
CN201980086072.3A 2018-12-28 2019-11-28 用于在编码器和解码器中选择变换选择的方法和装置 Active CN113302923B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201862785856P 2018-12-28 2018-12-28
US62/785,856 2018-12-28
PCT/SE2019/051206 WO2020139182A1 (en) 2018-12-28 2019-11-28 Method and apparatus for selecting transform selection in an encoder and decoder

Publications (2)

Publication Number Publication Date
CN113302923A CN113302923A (zh) 2021-08-24
CN113302923B true CN113302923B (zh) 2024-04-02

Family

ID=71129247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980086072.3A Active CN113302923B (zh) 2018-12-28 2019-11-28 用于在编码器和解码器中选择变换选择的方法和装置

Country Status (9)

Country Link
US (4) US11082692B2 (zh)
EP (1) EP3903487A4 (zh)
JP (1) JP7257523B2 (zh)
KR (1) KR20210104895A (zh)
CN (1) CN113302923B (zh)
CO (1) CO2021009769A2 (zh)
MX (1) MX2021007633A (zh)
RU (1) RU2767513C1 (zh)
WO (1) WO2020139182A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102672759B1 (ko) * 2017-09-28 2024-06-05 삼성전자주식회사 부호화 방법 및 그 장치, 복호화 방법 및 그 장치
WO2020006304A1 (en) 2018-06-29 2020-01-02 Vid Scale, Inc. Adaptive control point selection for affine motion model based video coding
JP7302037B2 (ja) 2019-06-19 2023-07-03 エルジー エレクトロニクス インコーポレイティド 画像コーディングにおいて変換カーネルセットを表す情報のシグナリング

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013522957A (ja) * 2010-03-10 2013-06-13 トムソン ライセンシング 変換選択を有するビデオ符号化および復号のための制約付きの変換を行う方法および装置
EP2618575A2 (en) * 2012-01-20 2013-07-24 Sony Corporation Logical intra mode naming in HEVC video coding
CN107534780A (zh) * 2015-02-25 2018-01-02 瑞典爱立信有限公司 视频中的帧间画面的编码和解码
CN109089117A (zh) * 2017-05-11 2018-12-25 联发科技股份有限公司 编码或解码视频数据的方法及装置

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010143853A2 (ko) 2009-06-07 2010-12-16 엘지전자 주식회사 비디오 신호의 디코딩 방법 및 장치
KR101702822B1 (ko) 2010-04-01 2017-02-06 소니 주식회사 화상 처리 장치 및 방법
US9042440B2 (en) 2010-12-03 2015-05-26 Qualcomm Incorporated Coding the position of a last significant coefficient within a video block based on a scanning order for the block in video coding
US8976861B2 (en) 2010-12-03 2015-03-10 Qualcomm Incorporated Separately coding the position of a last significant coefficient of a video block in video coding
US20120163448A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Coding the position of a last significant coefficient of a video block in video coding
US20120163472A1 (en) 2010-12-22 2012-06-28 Qualcomm Incorporated Efficiently coding scanning order information for a video block in video coding
CA2842646C (en) * 2011-06-27 2018-09-04 Panasonic Corporation Image decoding method, image coding method, image decoding apparatus, image coding apparatus, and image coding and decoding apparatus
US9866829B2 (en) * 2012-01-22 2018-01-09 Qualcomm Incorporated Coding of syntax elements that correspond to coefficients of a coefficient block in video coding
US9621921B2 (en) * 2012-04-16 2017-04-11 Qualcomm Incorporated Coefficient groups and coefficient coding for coefficient scans
US10257520B2 (en) 2012-06-26 2019-04-09 Velos Media, Llc Modified coding for transform skipping
WO2015194915A1 (ko) * 2014-06-20 2015-12-23 삼성전자 주식회사 인터 레이어 비디오 부복호화를 위한 깊이 영상의 예측 모드 전송 방법 및 장치
US10306229B2 (en) * 2015-01-26 2019-05-28 Qualcomm Incorporated Enhanced multiple transforms for prediction residual
KR20230130772A (ko) * 2016-02-12 2023-09-12 삼성전자주식회사 영상 부호화 방법 및 장치, 영상 복호화 방법 및 장치
US10972733B2 (en) * 2016-07-15 2021-04-06 Qualcomm Incorporated Look-up table for enhanced multiple transform
WO2018128222A1 (ko) * 2017-01-03 2018-07-12 엘지전자 주식회사 영상 코딩 시스템에서 영상 디코딩 방법 및 장치
US11146795B2 (en) 2017-03-10 2021-10-12 Qualcomm Incorporated Intra filtering flag in video coding
US10805641B2 (en) 2017-06-15 2020-10-13 Qualcomm Incorporated Intra filtering applied together with transform processing in video coding
US11134272B2 (en) * 2017-06-29 2021-09-28 Qualcomm Incorporated Memory reduction for non-separable transforms
EP4415366A2 (en) 2017-08-03 2024-08-14 Sharp Kabushiki Kaisha Systems and methods for partitioning video blocks in an inter prediction slice of video data
JP6863208B2 (ja) * 2017-09-29 2021-04-21 株式会社ニューフレアテクノロジー マルチ荷電粒子ビーム描画装置及びマルチ荷電粒子ビーム描画方法
US10491914B2 (en) * 2018-03-29 2019-11-26 Tencent America LLC Transform information prediction
EP3804315A4 (en) * 2018-05-31 2022-03-09 Sharp Kabushiki Kaisha SYSTEMS AND METHODS FOR PARTITIONING VIDEO BLOCKS INTO A SLOT FOR INTERPRETING VIDEO DATA
PL3723373T3 (pl) * 2018-09-02 2023-11-06 Lg Electronics Inc. Sposób dekodowania sygnału obrazu, sposób kodowania sygnału obrazu i nośnik danych
KR102534160B1 (ko) * 2018-09-02 2023-05-26 엘지전자 주식회사 다중 변환 선택에 기반한 영상 코딩 방법 및 그 장치
US10819979B2 (en) * 2018-09-06 2020-10-27 Tencent America LLC Coupled primary and secondary transform

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013522957A (ja) * 2010-03-10 2013-06-13 トムソン ライセンシング 変換選択を有するビデオ符号化および復号のための制約付きの変換を行う方法および装置
EP2618575A2 (en) * 2012-01-20 2013-07-24 Sony Corporation Logical intra mode naming in HEVC video coding
CN107534780A (zh) * 2015-02-25 2018-01-02 瑞典爱立信有限公司 视频中的帧间画面的编码和解码
CN109089117A (zh) * 2017-05-11 2018-12-25 联发科技股份有限公司 编码或解码视频数据的方法及装置

Also Published As

Publication number Publication date
EP3903487A4 (en) 2022-09-21
CO2021009769A2 (es) 2021-08-09
US20230109113A1 (en) 2023-04-06
US20240275969A1 (en) 2024-08-15
MX2021007633A (es) 2021-08-11
US11558613B2 (en) 2023-01-17
RU2767513C1 (ru) 2022-03-17
US20210136376A1 (en) 2021-05-06
CN113302923A (zh) 2021-08-24
JP7257523B2 (ja) 2023-04-13
US11991359B2 (en) 2024-05-21
WO2020139182A1 (en) 2020-07-02
EP3903487A1 (en) 2021-11-03
US20210329243A1 (en) 2021-10-21
US11082692B2 (en) 2021-08-03
JP2022516497A (ja) 2022-02-28
KR20210104895A (ko) 2021-08-25

Similar Documents

Publication Publication Date Title
US10687058B2 (en) Method and apparatus for coding of intra prediction mode
US20200336765A1 (en) Method and apparatus for syntax redundancy removal in palette coding
AU2018251489B2 (en) Method and device for entropy encoding, decoding video signal
CN113302923B (zh) 用于在编码器和解码器中选择变换选择的方法和装置
US10531102B2 (en) Encoding device, decoding device, and encoding and decoding method thereof
US10547872B2 (en) Encoding device, decoding device, and encoding method and decoding method thereof
US8873625B2 (en) Enhanced compression in representing non-frame-edge blocks of image frames
US11695962B2 (en) Encoding and decoding methods and corresponding devices
US20220109839A1 (en) Video decoding method and device, and video coding method and device
EP2391133A1 (en) Encoding/decoding method and device based on double prediction
CN114827609B (zh) 视频图像编码和解码方法、设备及介质
CN108702521B (zh) 编码和解码方法、装置、编码器、解码器及存储介质
US20220014748A1 (en) Method and device for entropy encoding coefficient level, and method and device for entropy decoding coefficient level
US20230291922A1 (en) Encoding and decoding methods and corresponding devices
CN102595122A (zh) 预测模式的编解码方法、编解码设备及网络系统
US9912968B2 (en) Decoding apparatus capable of controlling repetition number of scan procedure based on at least one syntax element decoding result and related method

Legal Events

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