CN107547897A - 残值升采样装置、残值降采样装置以及电路 - Google Patents

残值升采样装置、残值降采样装置以及电路 Download PDF

Info

Publication number
CN107547897A
CN107547897A CN201610683849.2A CN201610683849A CN107547897A CN 107547897 A CN107547897 A CN 107547897A CN 201610683849 A CN201610683849 A CN 201610683849A CN 107547897 A CN107547897 A CN 107547897A
Authority
CN
China
Prior art keywords
residual value
sampled
circuit
rises
sampling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201610683849.2A
Other languages
English (en)
Other versions
CN107547897B (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.)
MediaTek Inc
Original Assignee
MediaTek Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MediaTek Inc filed Critical MediaTek Inc
Publication of CN107547897A publication Critical patent/CN107547897A/zh
Application granted granted Critical
Publication of CN107547897B publication Critical patent/CN107547897B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods 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 set of transform coefficients
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • H04N19/426Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements using memory downsizing methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding

Landscapes

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

Abstract

本发明揭示一种残值升采样装置残值降采样装置以及电路。残值升采样装置,包含残值升采样缓冲器,用于储存中间残值升采样结果;以及共享的残值升采样电路,用于采用相同的处理内核以执行第一方向残值升采样操作和第二方向残值升采样操作,其中第一方向残值升采样操作处理逆转变电路的逆转变输出,以生成中间残值升采样结果到残值升采样缓冲器,以及第二方向残值升采样操作对残值升采样缓冲器执行转置访问,以获取中间残值升采样结果,并处理中间残值升采样结果以生成最终残值升采样结果。以此方式,设计的复杂性、成本和功耗,可以有效地降低。

Description

残值升采样装置、残值降采样装置以及电路
【技术领域】
本发明涉及视频解码器设计和视频编码器设计,且更特别地,涉及残值升采样装置、残值降采样装置以及电路。
【背景技术】
现有的视频编码标准通常采用基于块的编码技术以利用空间和时间冗余。例如,基本方法是将整个来源帧分成多个块,对每个块执行预测、对每个块转变残值以及执行量化、扫描和熵编码。此外,重建的帧在视频编码器的内部解码环生成,以提供参考像素数据用于编码后续的块。例如,逆扫描、逆量化和逆转变可以包含于视频编码器的内部解码环,以恢复将加到每个块的预测的样本的每个块的残值用于生成重建的帧。视频编码器的内部解码环的功能也实施于视频解码器,用于恢复每个块的残值以及生成重建的帧。
对于特定视频编码标准,转变块的残值降采样和转变块的残值升采样可以实施于视频编码器,以及转变块的残值升采样可以实施于视频解码器。需要一种新颖的具有低成本/高性能的残值降采样设计和残值升采样设计。
【发明内容】
有鉴于此,本发明提供残值升采样装置、残值降采样装置以及电路。
本发明提供一种残值升采样装置,包含残值升采样缓冲器,用于储存中间残值升采样结果;以及共享的残值升采样电路,用于采用相同的处理内核以执行第一方向残值升采样操作和第二方向残值升采样操作,其中第一方向残值升采样操作处理逆转变电路的逆转变输出,以生成中间残值升采样结果到残值升采样缓冲器,以及第二方向残值升采样操作对残值升采样缓冲器执行转置访问,以获取中间残值升采样结果,并处理中间残值升采样结果以生成最终残值升采样结果。
本发明还提供一种残值降采样装置,包含残值降采样缓冲器,用于储存中间残值降采样结果;以及共享的残值降采样电路,用于采用相同的处理内核以执行第一方向残值降采样操作和第二方向残值降采样操作,其中第一方向残值降采样操作处理残值生成电路的残值生成输出,以生成中间残值降采样结果到残值降采样缓冲器,以及第二方向残值降采样操作对残值降采样缓冲器执行转置访问以获取中间残值降采样结果,并处理中间残值降采样结果以生成最终残值降采样结果。
本发明还提供一种残值升采样电路,包含残值升采样转置缓冲器,用于储存中间残值升采样结果;第一方向残值升采样电路,用于处理逆转变电路的逆转变输出以生成中间残值升采样结果到残值升采样转置缓冲器;以及第二方向残值升采样电路,用于对残值升采样转置缓冲器执行转置访问以获取中间残值升采样结果,并处理中间残值升采样结果以生成最终残值升采样结果;其中第一方向残值升采样电路和第二方向残值升采样电路的一个在第一方向残值升采样电路和第二方向残值升采样电路的另一个完成处理转变块的残值前,开始处理转变块的残值;或其中第一方向残值升采样电路和第二方向残值升采样电路的一个在第一方向残值升采样电路和第二方向残值升采样电路的另一个完成处理另一转变块的残值之前,开始处理一个转变块的残值。
本发明还提供一种残值降采样电路,包含残值降采样转置缓冲器,用于储存中间残值降采样结果;第一方向残值降采样电路,用于处理残值生成电路的残值生成输出,以生成中间残值降采样结果到残值降采样转置缓冲器;以及第二方向残值降采样电路,用于对残值降采样转置缓冲器执行转置访问以获取中间残值降采样结果,并处理中间残值降采样结果以生成最终残值降采样结果;其中第一方向残值降采样电路和第二方向残值降采样电路的一个在第一方向残值降采样电路和第二方向残值降采样电路的另一个完成处理转变块的残值之前,开始处理转变块的残值;或其中第一方向残值降采样电路和第二方向残值降采样电路的一个在第一方向残值降采样电路和第二方向残值降采样电路的另一个完成处理另一转变块的残值之前,开始一个转变块的残值。
本发明还提供一种残值升采样装置,包含一通升采样电路,用于对逆转变电路的逆转变输出执行一通二维升采样操作以一个接一个输出多个升采样的残值;其中一通二维升采样操作包含合并而不转置访问的第一方向残值升采样操作和第二方向残值升采样操作。
本发明还提供一种残值降采样装置,包含一通降采样电路,用于对残值生成电路的残值生成输出执行一通二维降采样操作以一个接一个输出多个降采样的残值;其中一通二维降采样操作包含合并而不转置访问的第一方向残值降采样操作和第二方向残值降采样操作。
以此方式,设计的复杂性、成本和功耗,可以有效地降低。
【附图说明】
图1是图示场景1中残值升采样和降采样的示意图。
图2是图示场景2中残值升采样和降采样的示意图。
图3是图示场景3中残值升采样和降采样的示意图。
图4是图示根据本发明的实施例的视频解码器的示意图。
图5是图示根据本发明的实施例的视频编码器的示意图。
图6是图示根据本发明的实施例的低成本残值升采样装置的示意图。
图7是图示根据本发明的实施例的残值升采样/降采样流的示意图。
图8是图示根据本发明的实施例的低成本残值降采样装置的示意图。
图9是图示根据本发明的实施例的高性能残值升采样装置的示意图。
图10是图示根据本发明的实施例的垂直和水平升采样的平行处理的示意图。
图11是图示根据本发明的实施例的高性能残值降采样装置的示意图。
图12是图示根据本发明的实施例的垂直和水平降采样的平行处理的示意图。
图13是图示根据本发明的实施例的低成本和高性能残值升采样装置的示意图。
图14是图示根据本发明的实施例的由一通升采样处理器执行的一通2D升采样操作的示意图。
图15是图示根据本发明的实施例的低成本和高性能残值降采样装置的示意图。
图16是图示残值升采样和降采样应用于场景1中较小大小的分区的TB的示意图。
图17是图示残值升采样和降采样应用于场景2中较小大小的分区的TB的示意图。
图18是图示残值升采样和降采样应用于场景3中较小大小的分区的TB的示意图。
图19是图示根据本发明的实施例的基于分区的TB的残值升采样装置的示意图。
图20是图示根据本发明的实施例的较小大小的分区的TB的残值升采样处理的流程图。
图21是图示根据本发明的实施例的基于分区的TB的残值降采样装置的示意图。
图22是图示根据本发明的实施例的较小大小的分区的TB的残值降采样处理的流程图。
【具体实施方式】
遍及整篇描述和权利要求的某些术语用于指代具体部件。如本领域的技术人员意识到的,制造商可用不同的名称指代部件。此文档不打算区别名称不同但功能相同的部件。在权利要求和下文的描述中,术语“包括”和“包含”用于开放方式,且因此应该解释为意思是“包含,但不限于”。而且,术语“耦合”意于表示间接或直接电连接。因此,如果一个装置耦合到另一装置,那个连接可以通过直接电连接,或通过经由其它装置和连接的间接电连接。
对于特定视频编码标准,转变块的残值降采样和转变块的残值升采样可以实施于视频编码器,且转变块的残值升采样可以实施于视频解码器。例如,第二代音频视频编码标准(AVS2)是目标为更高视频编码效率的面向应用的视频编码标准。根据AVS2编码标准,转变块的残值降采样和转变块的残值升采样在一些场景下使能。例如,当编码单元(CU)大小是64x64时,对于亮度(luma)Y转变块(TB)有四个场景,列于下表。应该注意到,当CU大小=64x64时,色度TB总是32x32Cb TB和32x32Cr TB。
句法transform_split_flag记录于CU的头部,并定义是否拆分TB。句法TransformSplitDirection定义拆分TB方向。残值升采样/降采样在场景1/2/3中执行。
图1是图示场景1中残值升采样和降采样的示意图。关于残值升采样,一个32x32TB可相继地经历垂直升采样和水平升采样以生成一个64x64TB。残值在升采样后的输出顺序是从64x64TB的最顶部64x1行到最底部64x1行。关于残值降采样,一个64x64TB可相继地经历水平升采样和垂直降采样以生成一个32x32TB。残值在降采样后的输出顺序是从32x32TB的最顶部32x1行到最底部32x1行。
图2是图示场景2中残值升采样和降采样的示意图。关于残值升采样,四个32x8TB的每个可相继地经历垂直升采样和水平升采样以生成一个64x16TB。例如,垂直升采样可以以0→1→2→3的顺序应用于四个32x8TB,以及水平升采样可以以0→1→2→3的顺序应用于四个32x8TB。因此,一个64x64TB可以在四个64x16TB由升采样生成后获得。关于残值降采样,一个64x64TB分为四个64x16TB,且每个64x16TB可相继地经历水平降采样和垂直降采样以生成一个32x8TB。例如,水平降采样可以以0→1→2→3的顺序应用于四个64x16TB,以及垂直降采样可以以0→1→2→3的顺序应用于四个64x16TB。
图3是图示场景3中残值升采样和降采样的示意图。关于残值升采样,四个8x32TB的每个可相继地经历垂直升采样和水平升采样以生成一个16x64TB。例如,垂直升采样可以以0→1→2→3的顺序应用于四个8x32TB,以及水平升采样可以以0→1→2→3的顺序应用于四个8x32TB。一个64x64TB可以在由升采样生成四个16x64TB后获得。关于残值降采样,一个64x64TB分成四个16x64TB,且每个16x64TB可相继地经历水平降采样和垂直降采样以生成一个8x32TB。例如,水平降采样可以以0→1→2→3的顺序应用于四个16x64TB,以及垂直降采样可以以0→1→2→3的顺序应用于四个16x64TB。
残值降采样级可位于前面的残值生成级和后续的转变级之间,以及残值升采样级可以位于前面的逆转变和后续的残值生成级之间。残值降采样功能实施于视频编码器。因为视频编码器包含解码环嵌入于其中,残值升采样实施于视频编码器和视频编码器。本发明提出具有低成本和/或高性能的新颖的残值降采样设计和残值升采样设计。进一步细节描述于以下。
应该注意到,下文中提及的术语“电路”可以是专属纯硬件,用于实现指定的功能;或可以是运行软件模块的处理器,用于实现指定的功能。即,编码/解码功能(例如,残值升采样/降采样功能)可具有基于硬件的实现或基于软件的实现,依据实际设计考虑。
图4是图示根据本发明的实施例的视频解码器的示意图。视频解码器400包含基本解码部件,例如,熵解码器402、逆扫描电路(由“IS”指代)404、逆量化电路(由“IQ”指代)406、逆转变电路(由“IT”指代)408、帧内预测电路(由“IP”指代)412、运动向量生成电路414、运动补偿电路(由“MC”指代)416、复用器(由“MUX”指代)418、重建电路420、一个或多个环内滤波器(例如,解块滤波器、样本自适应偏置(SAO)滤波器等)422以及一个或多个参考帧缓冲器424。如图4所示,提出的残值升采样装置410耦合于逆转变电路408与重建电路420之间。换句话说,残值升采样装置410对包含于逆转变电路408的逆转变输出的残值执行升采样,并输出升采样的残值到重建电路420。在视频解码器400符合AVS2编码标准的情形中,逆转变电路408可用于相继地执行第二逆转变(例如,逆小波转变)和第一逆转变(例如,逆离散余弦转变(IDCT))这两级逆转变。然而,此并非是本发明的限制。使用提出的具有低成本和/或高性能的残值升采样装置410的任何视频解码器均落入本发明的范围。
图5是图示根据本发明的实施例的视频编码器的示意图。视频编码器500包含基本编码部件,例如,残值生成电路502、转变电路(由“T”指代)506、量化电路(由“Q”指代)508、扫描电路(由“S”指代)510、熵编码器512、逆扫描电路(由“IS”指代)514、逆量化电路(由“IQ”指代)516、逆转变电路(由“IT”指代)518、重建电路522、一个或多个环内滤波器(例如,解块滤波器、SAO滤波器等)524、一个或多个参考帧缓冲器526、运动向量生成电路528、运动补偿电路(由“MC”指代)530、帧内预测电路(由“IP”指代)532以及复用器(由“MUX”指代)534。其中,在实际操作中,扫描电路(由“S”指代)510可以位于熵编码器512中,逆扫描电路(由“IS”指代)514可以取消。如图5所示,一个提出的残值降采样装置504耦合于残值生成电路502和转变电路506之间,以及一个提出的残值升采样装置520耦合于逆转变电路518和重建电路522之间。换句话说,残值降采样装置504对包含于残值生成电路502的残值生成输出中的残值执行降采样,并输出降采样的残值到转变电路506;以及残值升采样装置520对包含于逆转变电路518的逆转变输出的残值执行升采样,并输出升采样的残值到重建电路522。在视频编码器500符合AVS2编码标准的情形中,转变电路506可以用于执行两级转变,其相继地执行第一转变(例如,离散余弦转变(DCT))和第二转变(例如,小波转变),以及逆转变电路518可以用于执行两级逆转变,其相继地执行第二逆转变(例如,逆小波转变)和第一逆转变(例如,逆离散余弦转变(IDCT))。然而,此并非是本发明的限制。使用提出的具有低成本和/或高性能的残值降采样装置504的任何视频解码器均落入本发明的范围,以及使用提出的具有低成本和/或高性能的残值升采样装置520的任何视频解码器均落入本发明的范围。
在本发明的一些实施例中,残值升采样装置410/520可以使用多个提出的残值升采样设计的一个来实施以实现低成本和/或高性能。类似地,在本发明的一些实施例中,残值降采样装置504可以使用多个提出的残值降采样设计的一个来实施以实现低成本和/或高性能。提出的残值升采样设计和残值升采样设计详细描述于以下。
图6是图示根据本发明的实施例的低成本残值升采样装置的示意图。视频解码器400中的残值升采样装置410和/或视频编码器500中的残值升采样装置520可以使用残值升采样装置600实施。残值升采样装置600包含共享的残值升采样电路602、存储器装置604以及复用器(MUX)606。在本实施例中,残值升采样缓冲器608和IDCT输出缓冲器609可以均分配于相同的存储器装置604。残值升采样缓冲器608用于储存由共享的残值升采样电路602生成的中间残值升采样结果。IDCT输出缓冲器609用于储存从IDCT电路(例如,显示于图4中的逆转变电路408或显示于图5中的逆转变电路518)生成的IDCT输出。即,存储器装置604的存储空间由残值升采样缓冲器608和IDCT输出缓冲器609共享。然而,此仅仅是用于说明性的目的,并非是本发明的限制。备选地,残值升采样缓冲器608和IDCT输出缓冲器609可以分别分配于单独的存储器装置。
共享的残值升采样电路602用于采用相同的处理内核以执行第一方向残值升采样操作和第二方向残值升采样操作,其中第一方向残值升采样操作处理IDCT电路(例如,显示于图4中的逆转变电路408或显示于图5中的逆转变电路518)的IDCT输出以生成中间残值升采样结果到残值升采样缓冲器608,以及第二方向残值升采样操作对残值升采样缓冲器608执行转置访问以获取中间残值升采样结果,并处理中间残值升采样结果以生成最终残值升采样结果。在一个示范性设计中,第一方向残值升采样操作可以是垂直升采样,以及第二方向残值升采样操作可以是水平升采样。在另一示范性设计中,第一方向残值升采样操作可以是水平升采样,以及第二方向残值升采样操作可以是垂直升采样。
残值升采样装置600采用使用单个处理内核以支持两个方向的残值升采样的低成本残值升采样设计。具体地,低成本残值升采样设计使用处理内核以处理第一方向残值升采样操作,并且然后再使用相同的处理内核以处理第二方向残值升采样操作。
图7是图示根据本发明的实施例的残值升采样/降采样流的示意图。假设有32x32TB需要被升采样为64x64TB,且水平升采样在垂直升采样完成后执行。垂直升采样和水平升采样可具有相同的升采样算法但是不同的残值输入数据序列。因此,共享的残值升采样电路602的处理内核可用于对残值列执行垂直升采样,并且然后可以再使用处理内核以对残值行执行水平升采样。如图7所示,32x32TB在垂直处理级的垂直方向升采样。共享的残值升采样电路602使用处理内核以对每个32残值列执行一个升采样计算。即,32x32TB的最左边1x32列0到最右边1x32列31在垂直方向一个接一个升采样,以便32x64TB的最左边1x64列0到最右边1x64列31一个接一个生成。在升采样计算重复32次后,中间升采样结果(即,在垂直处理级生成的32x64TB)储存于残值升采样缓冲器608。
接着,共享的残值升采样电路602使用相同的处理内核以对每个64残值行执行一个升采样计算。如上所述,垂直升采样在残值升采样缓冲器608储存升采样的残值列。然而,水平升采样基于残值行执行。因此,共享的残值升采样电路602对残值升采样缓冲器608执行转置访问以获取残值行用于水平升采样。如图7所示,32x64TB的最顶部32x1行0到最底部32x1行63在水平方向一个接一个地升采样,以便64x64TB的最顶部64x1行0到最底部64x1行63一个接一个地生成。在升采样计算重复64次后,最终升采样结果(即,在水平处理级生成的64x64TB)可以获得用于进一步处理(例如,重建)。
图6中的复用器606用于控制最终升采样结果的输出数据路径。在一个示范性设计中,共享的残值升采样电路602用于储存最终残值升采样结果于残值升采样缓冲器608,以及复用器606被控制以允许残值升采样缓冲器608输出最终残值升采样结果到重建电路(例如,显示于图4中的重建电路420或显示于图5中的重建电路522)。例如,64x64TB的每个64x1行中的每个升采样的残值从水平升采样生成,并然后储存于残值升采样缓冲器608。其结果是,最终残值升采样结果需要由重建电路从残值升采样缓冲器608获取。
在另一示范性设计中,共享的残值升采样电路602用于输出最终残值升采样结果到重建电路(例如,显示于图4中的重建电路420或显示于图5中的重建电路522)而不储存最终残值升采样结果于残值升采样缓冲器608。复用器606因此被控制以允许共享的残值升采样电路602输出最终残值升采样结果到重建电路。例如,64x64TB的每个64x1行中的每个升采样的残值是从水平升采样生成,并然后立即供应到重建电路。
图8是图示根据本发明的实施例的低成本残值降采样装置的示意图。视频编码器500中的残值降采样装置504可以使用残值降采样装置800实施。残值降采样装置800包含共享的残值降采样电路802、存储器装置804以及复用器(MUX)806。在本实施例中,残值降采样缓冲器808和残值生成输出缓冲器809可以均分配于相同的存储器装置804。残值降采样缓冲器808用于储存由共享的残值降采样电路802生成的中间残值降采样结果。残值生成输出缓冲器809用于储存从残值生成电路(例如,显示于图5中的残值生成电路502)生成的残值生成输出。即,存储器装置804的存储空间由残值降采样缓冲器808和残值生成输出缓冲器809共享。然而,此仅仅是用于说明性的目的,并非是本发明的限制。备选地,残值降采样缓冲器608和残值生成输出缓冲器809可以分别分配于单独的存储器装置。
共享的残值降采样电路802用于采用相同的处理内核以执行第一方向残值降采样操作和第二方向残值降采样操作,其中第一方向残值降采样操作处理残值生成电路(例如,显示于图5中的残值生成电路502)的残值生成输出以生成中间残值降采样结果到残值降采样缓冲器808,以及第二方向残值降采样操作对残值降采样缓冲器808执行转置访问以获取中间残值降采样结果,并处理中间残值降采样结果以生成最终残值降采样结果。在一个示范性设计中,第一方向残值降采样操作可以是水平降采样,以及第二方向残值降采样操作可以是垂直升采样。在另一示范性设计中,第一方向残值降采样操作可以是垂直降采样,以及第二方向残值降采样操作可以是水平降采样。
残值降采样装置800采用使用单个处理内核以在两个方向支持残值降采样的低成本残值降采样设计。具体地,低成本残值降采样设计使用处理内核以处理第一方向残值降采样操作,并再使用相同的处理内核以处理第二方向残值降采样操作。
请再次参考图7。残值降采样流也图示于图7。假设有64x64TB需要被降采样为32x32TB,以及垂直降采样在水平降采样完成后执行。水平降采样和垂直降采样可具有相同的降采样算法但不同的残值输入数据序列。因此,共享的残值降采样电路802的处理内核可用于对残值行执行水平降采样,并然后可以再使用处理内核以对残值列执行垂直降采样。如图7所示,64x64TB在水平处理级的水平方向降采样。共享的残值降采样电路802使用处理内核以对每个64残值行执行一个降采样计算。即,64x64TB的最顶部64x1行0到最底部64x1行63在水平方向一个接一个降采样,以便32x64TB的最顶部32x1行0到最底部32x1行63一个接一个生成。在降采样计算重复64次后,中间升采样结果(即,在水平处理级生成的32x64TB)储存于残值降采样缓冲器808。
接着,共享的残值降采样电路802使用相同的处理内核以对每个32残值列执行一个降采样计算。如上所述,水平降采样储存降采样的残值行于残值升采样缓冲器808。然而,垂直降采样基于残值列执行。因此,共享的残值降采样电路802对残值降采样缓冲器808执行转置访问以获取残值列用于垂直降采样。如图7所示,32x64TB的最左边1x64列0到最右边1x64列31在垂直方向一个接一个降采样,以便32x32TB的最左边1x32列0到最右边1x32列31一个接一个生成。在降采样计算重复了32次后,最终升采样结果(即,在垂直处理级生成的32x32TB)可以获得用于进一步处理(例如,转变)。
图8中的复用器806用于控制最终降采样结果的输出数据路径。在一个示范性设计中,共享的残值降采样电路802用于储存最终残值降采样结果于残值降采样缓冲器808,以及复用器806被控制以允许残值降采样缓冲器808输出最终残值降采样结果到转变电路(例如,显示于图5中的转变电路506)。例如,32x32TB的每个1x32列中的每个降采样的残值从垂直降采样生成,并然后储存于残值降采样缓冲器808。其结果是,最终残值降采样结果需要由转变电路从残值降采样缓冲器808获取。
在另一示范性设计中,共享的残值降采样电路802用于输出最终残值降采样结果到转变电路(例如,显示于图5中的转变电路506)而不将最终残值降采样结果储存于残值降采样缓冲器808。复用器806因此被控制以允许共享的残值降采样电路802输出最终残值降采样结果到转变电路。例如,32x32TB的每个1x32列中的每个降采样的残值从垂直降采样生成,并然后立即供应至转变电路。
图9是图示根据本发明的实施例的高性能残值升采样装置的示意图。视频解码器400中的残值升采样装置410和/或视频编码器500中的残值升采样装置520可以使用残值升采样装置900实施。残值升采样装置900包含IDCT输出缓冲器902、第一方向残值升采样电路904、残值升采样转置缓冲器906、第二方向残值升采样电路908以及复用器(MUX)910。残值升采样转置缓冲器906用于储存中间残值升采样结果。IDCT输出缓冲器902用于储存从IDCT电路(例如,显示于图4中的逆转变电路408或显示图5中的逆转变电路518)生成的IDCT输出。IDCT输出缓冲器902还可用于储存最终升采样结果,依据实际设计考虑。
第一方向残值升采样电路904用于处理IDCT电路(例如,显示于图4中的逆转变电路408或显示于图5中的逆转变电路518)的IDCT输出,以生成中间残值升采样结果到残值升采样转置缓冲器906。第二方向残值升采样电路908用于对残值升采样转置缓冲器906执行转置访问以获取中间残值升采样结果,并处理中间残值升采样结果以生成最终残值升采样结果。在一个示范性设计中,第一方向残值升采样电路904可以是垂直升采样电路,以及第二方向残值升采样电路908可以是水平升采样电路。在另一示范性设计中,第一方向残值升采样电路904可以是水平升采样电路,以及第二方向残值升采样电路908可以是垂直升采样电路。
在本实施例中,残值升采样装置900采用高性能残值升采样设计,其包含两个单独的电路(即,第一方向残值升采样电路904和第二方向残值升采样电路908)用于支持垂直和水平升采样的平行处理。例如,第一方向残值升采样电路904和第二方向残值升采样电路908的一个可以在第一方向残值升采样电路904和第二方向残值升采样电路908的另一个完成处理转变块的残值之前开始处理转变块的残值;和/或第一方向残值升采样电路904和第二方向残值升采样电路908的一个可以在第一方向残值升采样电路904和第二方向残值升采样电路908的另一个完成另一转变块的残值之前开始处理一个转变块的残值。
图10是图示根据本发明的实施例的垂直和水平升采样的平行处理的示意图。假设第一方向残值升采样电路904用于执行垂直升采样,以及第二方向残值升采样电路908用于执行水平升采样。在一个示范性设计中,垂直升采样操作是从转变块的最左边残值列到最右边残值列处理,以及水平升采样操作是从转变块的最顶部残值行到最底部残值行处理。当第一方向残值升采样电路(例如,垂直升采样电路)904在垂直升采样的转变块的最右边残值列生成最顶部升采样的残值(其将是中间升采样结果)时,垂直升采样的转变块的最顶部残值行现在完全可用。此时,第二方向残值升采样电路(例如,水平升采样电路)908可开始处理垂直升采样的转变块的最顶部残值行以生成水平升采样的转变块的最顶部残值行(其将是最终升采样结果)。因此,在第一方向残值升采样电路(例如,垂直升采样电路)904生成垂直升采样的转变块的最右边残值列的最底部升采样的残值(其将是中间升采样结果)之前,第二方向残值升采样电路(例如,水平升采样电路)908可开始处理垂直升采样的转变块的一个可用的残值行,以生成水平升采样的转变块的一个残值行(其将是最终升采样结果)。以此方式,第一方向残值升采样电路904和第二方向残值升采样电路908执行与即将升转换的相同的转变块关联的垂直和水平升采样的平行处理。换句话说,与转变块(例如,TB0)关联的垂直升采样的处理时间和与相同的转变块(例如,TB0)关联的水平升采样的处理时间重叠,如图10所示。
另外,当第一方向残值升采样电路(例如,垂直升采样电路)904在垂直升采样的转变块的最右边残值列中生成最底部升采样的残值(其将是中间升采样结果)时,垂直升采样的转变块的最底部残值行现在完全可用,并等待用于第二方向残值升采样电路(例如,水平升采样电路)908的进一步处理。此时,第一方向残值升采样电路(例如,垂直升采样电路)904可开始处理即将被升采样的下一转变块的最左边列。因此,在第二方向残值升采样电路(例如,水平升采样电路)908生成水平升采样的转变块的最底部残值行中最右边升采样的残值(其将是最终升采样结果)之前,第一方向残值升采样电路(例如,垂直升采样电路)904可开始处理下一转变块的一个可用的残值列。以此方式,第一方向残值升采样电路904和第二方向残值升采样电路908执行与即将升采样的不同转变块关联的垂直和水平升采样的平行处理。换句话说,与一个转变块(例如,TB1)关联的垂直升采样的处理时间和与另一转变块(例如,TB0)关联的水平升采样的处理时间重叠,如图10所示。
图9中的复用器910用于控制最终升采样结果的输出数据路径。在一个示范性设计中,第二方向残值升采样电路908用于储存最终残值升采样结果于IDCT输出缓冲器902,以及复用器910被控制以允许IDCT输出缓冲器902输出最终残值升采样结果到重建电路(例如,显示于图4中的重建电路402或显示于图5中的重建电路522)。在另一示范性设计中,第二方向残值升采样电路908用于输出最终残值升采样结果到重建电路(例如,显示于图4中的重建电路402或显示于图5中的重建电路522)而不将最终残值升采样结果储存于IDCT输出缓冲器902。复用器910因此被控制以允许第二方向残值升采样电路908直接输出最终残值升采样结果到重建电路。
图11是图示根据本发明的实施例的高性能残值降采样装置的示意图。视频编码器500中的残值降采样装置504可以使用残值降采样装置1100实施。残值降采样装置1100包含残值生成输出缓冲器1102、第一方向残值降采样电路1104、残值降采样转置缓冲器1106、第二方向残值降采样电路1108以及复用器(MUX)1110。残值降采样转置缓冲器1106用于储存中间残值降采样结果。残值生成输出缓冲器1102用于储存从残值生成电路(例如,显示于图5中的残值生成电路502)生成的残值生成输出。残值生成输出缓冲器1102还可用于储存最终降采样结果,依据实际设计考虑。
第一方向残值降采样电路1104用于处理残值生成电路(例如,显示于图5中的残值生成电路502)的残值生成输出,以生成中间残值降采样结果到残值降采样转置缓冲器1106。第二方向残值降采样电路1108用于对残值降采样转置缓冲器1106执行转置访问以获取中间残值降采样结果,并处理中间残值降采样结果以生成最终残值降采样结果。在一个示范性设计中,第一方向残值降采样电路1104可以是水平降采样电路,以及第二方向残值降采样电路1108可以是垂直降采样电路。在另一示范性设计中,第一方向残值降采样电路1104可以是垂直降采样电路,以及第二方向残值降采样电路1108可以是水平降采样电路。
在本实施例中,残值降采样装置1100采用高性能残值降采样设计,包含两个单独的电路(即,第一方向残值降采样电路1104和第二方向残值降采样电路1108)用于支持垂直和水平降采样的平行处理。例如,第一方向残值降采样电路1104和第二方向残值降采样电路1108的一个可在第一方向残值降采样电路1104和第二方向残值降采样电路1108的另一个完成处理转变块的残值之前,开始处理转变块的残值;和/或第一方向残值降采样电路1104和第二方向残值降采样电路1108的一个可在第一方向残值降采样电路1104和第二方向残值降采样电路1108的另一个完成处理另一转变块的残值之前,开始处理一个转变块的残值。
图12是图示根据本发明的实施例的垂直和水平降采样的平行处理的示意图。假设第一方向残值降采样电路1104用于执行水平降采样,以及第二方向残值降采样电路1108用于执行垂直降采样。在一个示范性设计中,垂直降采样操作是从转变块的最左边残值列到最右边残值列处理,以及水平降采样操作是从转变块的最顶部残值行到最底部残值行处理。当第一方向残值降采样电路(例如,水平降采样电路)1104在水平降采样的转变块的最底部残值行中生成最左边升采样的残值(其将是中间降采样结果),水平降采样的转变块的最左边残值列现在完全可用。此时,第二方向残值降采样电路(例如,垂直降采样电路)1108可开始处理水平降采样的转变块的最左边残值列,以生成垂直降采样的转变块的最左边残值列(其将是最终降采样结果)。因此,在第一方向残值降采样电路(例如,水平降采样电路)1104生成水平降采样的转变块的最底部残值行中最右边升采样的残值(其将是中间降采样结果)之前,第二方向残值降采样电路(例如,垂直降采样电路)1108可开始处理水平降采样的转变块的一个可用的残值列,以生成垂直降采样的转变块的一个残值列(其将是最终降采样结果)。以此方式,第一方向残值降采样电路1104和第二方向残值降采样电路1108执行与即将降转换的相同的转变块关联的垂直和水平降采样的平行处理。换句话说,与转变块(例如,TB0)关联的水平降采样的处理时间和与转变块(例如,TB0)关联的垂直降采样的处理时间重叠,如图12所示。
另外,当第一方向残值降采样电路(例如,水平降采样电路)1104生成水平升采样的转变块的最底部残值行中的最右边升采样的残值(其将是中间降采样结果)时,水平升采样的转变块的最右边残值列现在完全可用,并等待用于第二方向残值升采样电路(例如,垂直降采样电路)1108的进一步处理。此时,第一方向残值降采样电路(例如,水平降采样电路)1104可开始处理即将被升采样的下一转变块的最顶部行。因此,在第二方向残值降采样电路(例如,垂直降采样电路)1108生成垂直升采样的转变块的最右边残值行中最底部残值(其将是最终降采样结果)之前,第一方向残值降采样电路(例如,水平降采样电路)1104可开始处理下一转变块的一个可用的残值行。以此方式,第一方向残值降采样电路1104和第二方向残值降采样电路1108执行与即将被降采样的不同的转变块关联的垂直和水平降采样的平行处理。换句话说,与一个转变块(例如,TB0)关联的垂直降采样的处理时间和与另一转变块(例如,TB1)关联的水平降采样的处理时间重叠,如图12所示。
图11中的复用器1110用于控制最终降采样结果的输出数据路径。在一个示范性设计中,第二方向残值降采样电路1108用于在残值生成输出缓冲器1102中储存最终残值降采样结果,以及复用器1110被控制以允许残值生成输出缓冲器1102输出最终残值降采样结果到转变电路(例如,显示于图5中的转变电路506)。在另一示范性设计中,第二方向残值降采样电路1108用于输出最终残值降采样结果到转变电路(例如,显示于图5中的转变电路506)而不将最终残值降采样结果储存进残值生成输出缓冲器1102。复用器1110因此被控制以允许第二方向残值降采样电路1108以直接输出最终残值降采样结果到转变电路。
图13是图示根据本发明的实施例的低成本和高性能残值升采样装置的示意图。视频解码器400中的残值升采样装置410和/或视频编码器500中的残值升采样装置520可以使用残值升采样装置1300实施。残值升采样装置1300耦合到IDCT输出缓冲器1301。IDCT输出缓冲器902用于储存从IDCT电路(例如,显示于图4中的逆转变电路408或显示于图5中的逆转变电路518)生成的IDCT输出。残值升采样装置1300包含一通(one-pass)升采样电路1302,用于对IDCT电路(例如,显示于图4中的逆转变电路408或显示于图5中的逆转变电路518)的IDCT输出执行一通二维(2D)升采样操作以一个接一个输出多个升采样的残值,其中一通2D升采样操作包含合并而不转置访问的第一方向残值升采样操作和第二方向残值升采样操作。合并于一通2D升采样操作的第一方向残值升采样操作和第二方向残值升采样操作包含垂直升采样操作和水平升采样操作。因此,当一通2D升采样处理对即将升采样的转变块的一个或多个残值执行时,垂直升采样处理和水平升采样处理立即执行,以由此计算并实时输出最终残值升采样结果的一个升采样的残值。应该注意到,从一通2D升采样处理生成的残值数据可以直接发送到重建电路而不回馈到IDCT输出缓冲器1301。另外,不需要转置缓冲器来储存由一个降采样操作生成的并由另一降采样操作处理的任何中间升采样结果。因此,残值升采样装置1300采用低成本和高性能的残值升采样设计。例如,残值升采样装置1300执行一通升采样以由此实现高性能,并不需要转置缓冲器来储存中间升采样结果以由此实现低成本。
在本实施例中,一通升采样电路1302包含IDCT输出缓冲器地址发生器1306、控制器1304和一通升采样处理器1308。控制器1304用于控制IDCT输出缓冲器地址发生器130和一通升采样处理器1308的操作。IDCT输出缓冲器地址发生器1306用于生成IDCT输出缓冲器地址到IDCT输出缓冲器1301,用于获取由一通2D升采样操作需要的残值。一通升采样处理器1308用于对残值数据执行一通2D升采样操作,残值数据是从IDCT输出缓冲器1301响应于由IDCT输出缓冲器地址发生器1306决定的IDCT输出缓冲器地址读取的。
例如,IDCT输出缓冲器地址发生器1306可根据解码信息决定IDCT输出缓冲器地址,以及一通升采样处理器1308可根据解码信息配置一通2D升采样操作。解码信息可包含当前处理空间位置、TB大小(其包含TB宽度和TB高度)、transform_split_flag、TransformSplitDirection等。解码信息可以从使用一通升采样电路1302作为残值升采样电路的视频解码器(或视频编码器)中的任何块来获得。例如,解码信息可以从熵解码器和/或重建电路获得。例如,由一通2D升采样操作需要的残值N的数目可以根据解码信息(例如,当前处理空间位置(X,Y)、TB宽度(w)、TB高度(h)、transform_split_flag以及TransformSplitDirection(D))确定。例如,如果{X,Y,W,H,S,D}={0、0、32、32、0,N.A.},N=1。对于另一示例,如果{X,Y,W,H,S,D}={1、0、32、32、0,N.A.},N=2。对于又一示例,如果{X,Y,W,H,S,D}={1、1、32、32、0,N.A.},N=4。
图14是图示根据本发明的实施例的由一通升采样处理器1308执行的一通2D升采样操作的示意图。由一通2D升采样生成的残值数据是从IDCT输出缓冲器1301读取的残值数据的函数。函数的计算取决于解码信息,例如,当前处理空间位置、TB大小、transform_split_flag以及TransformSplitDirection。例如,残值数据O可以根据一通2D升采样函数F(a,b,c,d)计算如下:
O=F(a,b,c,d)=((a>>m+b>>n)>>k+(c>>p+d>>q)>>j)>>I
其中“a”、“b”、“c”和“d”是从IDCT输出缓冲器1301读取的四个残值并用于一通2D升采样处理,“>>”是右移预算符,以及“m”、“n”、“p”、“q”、“I”、“j”、“k”是常数。
应该注意到,寄存器(未示出)可用于储存一通2D升采样处理的中间输出和/或输出。例如,残值数据“O”可以暂时储存于寄存器并然后输出到重建电路。对于另一示例,中间数据“e”和“f”可以暂时储存于寄存器并且然后输出到相应右移操作符。然而,此仅仅是用于说明性的目的,并非是本发明的限制。即,寄存器是可选的且可以在本发明的一些实施例中省略。
图15是图示根据本发明的实施例的低成本和高性能残值降采样装置的示意图。视频编码器500中的残值降采样装置504可以使用残值降采样装置1500实施。残值降采样装置1500耦合到残值生成输出缓冲器1501。残值生成输出缓冲器1501用于储存从残值生成电路(例如,显示于图5中的残值生成电路502)生成的残值生成输出。残值降采样装置1500包含一通降采样电路1502,用于对残值生成电路(例如,显示于图5中的残值生成电路502)中的残值生成输出执行一通二维(2D)降采样操作以一个接一个输出多个降采样的残值,其中一通2D降采样操作包含合并而不转置访问的第一方向残值降采样操作和第二方向残值降采样操作。合并于一通2D降采样操作的第一方向残值降采样操作和第二方向残值降采样操作包含垂直降采样操作和水平降采样操作。因此,当一通2D降采样处理对即将降采样的转变块的一个或多个残值执行时,立即执行垂直降采样处理和水平降采样处理以由此计算并实时输出最终残值降采样结果的一个降采样的残值。应该注意到,从一通2D降采样处理生成的残值数据可以直接发送到转变电路而不回馈到残值生成输出缓冲器1501。另外,不需要转置缓冲器来储存由一个降采样操作生成并由另一降采样操作处理的任何中间降采样结果。因此,残值降采样装置1500采用低成本和高性能残值降采样设计。例如,残值降采样装置1500执行一通降采样以由此实现高性能,并不需要转置缓冲器来储存中间降采样结果以由此实现低成本。
在本实施例中,一通降采样电路1502包含残值生成输出缓冲器地址发生器1506、控制器1504和一通降采样处理器1508。控制器1504用于控制残值生成输出缓冲器地址发生器1506和一通降采样处理器1508的操作。残值生成输出缓冲器地址发生器1506用于生成残值生成输出缓冲器地址到残值生成输出缓冲器1501,用于获取由一通2D降采样操作需要的残值。一通降采样处理器1508用于对残值数据执行一通2D降采样操作,残值数据是从残值生成输出缓冲器1501响应于由残值生成输出缓冲器地址发生器1506决定的残值生成输出缓冲器地址读取的。
例如,残值生成输出缓冲器地址发生器1506可根据编码信息决定残值生成输出缓冲器地址,且一通降采样处理器1508可根据编码信息配置一通2D降采样操作。编码信息可包含当前处理空间位置、包含TB宽度和TB高度的TB大小、transform_split_flag、TransformSplitDirection等。编码信息可以从使用一通降采样电路1502作为残值降采样电路的视频编码器中的任何块获得。例如,编码信息可以从熵编码器和/或残值生成电路获得。例如,由一通2D降采样操作需要的残值N的数目可以根据解码信息(例如,当前处理空间位置(X,Y)、TB宽度(w)、TB高度(h)、transform_split_flag以及TransformSplitDirection(D))确定。例如,如果{X,Y,W,H,S,D}={0、0、64、64、0,N。A。},N=1。对于另一示例,如果{X,Y,W,H,S,D}={1、0、64、64、0,N.A.},N=2。对于又一示例,如果{X,Y,W,H,S,D}={1、1、64、64、0,N.A.},N=4。
AVS2编码标准中最大TB大小是64x64,而其它典型的编码标准中最大TB大小是32x32。因此,由AVS2编码标准采用的残值升采样/降采样流可不向后兼容典型的视频编码标准的视频编码器/解码器设计。为了减少设计复杂性、视频解码器/编码器实现中的成本和功耗,本发明还提出将具有残值升采样/降采样的解码/编码流在亮度(Y)转变块(TB)中分区为若干部分并重排序解码/编码流。具体地,即将升采样/降采样的一个TB分成若干TB分区(即,较小大小的分区的TB),且即将升采样/降采样的不同的TB的TB分区以本发明提出的特定顺序处理。
图16是图示残值升采样和降采样应用于场景1中较小大小的分区的TB(transform_split_flag=“0”、TransformSplitDirection=“N.A.”以及方向=“N.A.”)的示意图。关于残值升采样,一个原始32x32TB分区为4x(16x16)TB,以及四个16x16TB分区的升采样顺序是0→1→2→3。因此,4x(32x32)TB由残值升采样(其包含垂直升采样和水平升采样)以输出顺序0→1→2→3生成。换句话说,支持32x32的TB大小的重建电路(例如,显示于图4中的重建电路420或显示于图5中的重建电路522)可以重建顺序0→1→2→3相继地处理32x32TB。
关于残值降采样,一个原始64x64TB分区为4x(32x32)TB,且四个32x32TB分区的降采样顺序是0→1→2→3。因此,4x(16x16)TB由残值降采样(其包含水平降采样和垂直降采样)以输出顺序0→1→2→3生成。换句话说,支持32x32的TB大小的帧内预测电路(例如,显示于图4中的帧内预测电路412图4或显示于图5中的帧内预测电路532)可以帧内预测顺序0→1→2→3相继地执行帧内预测用于决定32x32TB的残值,且支持32x32的TB大小的帧间预测电路(例如,显示于图4中的运动向量生成电路414和运动补偿电路416,或显示于图5中的运动向量生成电路528和运动补偿电路530)可以帧间预测顺序0→1→2→3相继地执行帧间预测,用于决定32x32TB的残值。
图17是图示残值升采样和降采样应用于场景2中较小大小的分区的TB(transform_split_flag=“1”、TransformSplitDirection=“1”以及方向=“水平”)的示意图。关于残值升采样,原始4x(32x8)TB分区为16x(16x4)TB,且16x(16x4)TB分区的升采样顺序是0→1→2→3→…→12→13→14→15。因此,16x(32x8)TB由残值升采样(其包含垂直升采样和水平升采样)以输出顺序0→1→2→3→…→12→13→14→15生成。换句话说,支持32x32TB大小的重建电路(例如,显示于图4中的重建电路420或显示于图5中的重建电路522)可以重建顺序0’→1’→2’→3’相继地处理32x32TB。
关于残值降采样,原始4x(64x16)TB分区为16x(32x8)TB,且16x(32x8)TB分区的降采样顺序是0→1→2→3→…→12→13→14→15。因此,16x(16x4)TB是由残值降采样(其包含水平降采样和垂直降采样)以输出顺序0→1→2→3→…→12→13→14→15生成。换句话说,支持32x32TB大小的帧内预测电路(例如,显示于图4中的帧内预测电路412图4或显示于图5中的帧内预测电路532)可以帧内预测顺序0’→1’→2’→3’相继地执行帧内预测用于决定32x32TB的残值,且支持32x32TB大小的帧间预测电路(例如,显示于图4中的运动向量生成电路414和运动补偿电路416或显示于图5中的运动向量生成电路528和运动补偿电路530)可以帧间预测顺序0’→1’→2’→3’相继地执行帧间预测用于决定32x32TB的残值。
图18是图示残值升采样和降采样应用于场景3中较小大小的分区的TB(transform_split_flag=“1”、TransformSplitDirection=“2”以及方向=“垂直”)的示意图。关于残值升采样,原始4x(8x32)TB分区为16x(4x16)TB,且16x(4x16)TB分区的升采样顺序是0→1→2→3→…→12→13→14→15。因此,16x(8x21)TB由残值升采样(其包含垂直升采样和水平升采样)以输出顺序0→1→2→3→…→12→13→14→15生成。换句话说,支持32x32TB大小的重建电路(例如,显示于图4中的重建电路420或显示于图5中的重建电路522)可以重建顺序0’→1’→2’→3’相继地处理32x32TB。
关于残值降采样,原始4x(16x64)TB分区为16x(8x32)TB,且16x(8x32)TB分区的降采样顺序是0→1→2→3→…→12→13→14→15。因此,16x(4x16)TB由残值降采样(其包含水平降采样和垂直降采样)以输出顺序0→1→2→3→…→12→13→14→15生成。换句话说,支持32x32TB大小的帧内预测电路(例如,显示于图4中的帧内预测电路412图4或显示于图5中的帧内预测电路532)可以帧内预测顺序0’→1’→2’→3’相继地执行帧内预测用于决定32x32TB的残值,且支持32x32TB大小的帧间预测电路(例如,显示于图4中的运动向量生成电路414和运动补偿电路416或显示于图5中的运动向量生成电路528和运动补偿电路530)可以帧间预测顺序0’→1’→2’→3’相继地执行帧间预测用于决定32x32TB的残值。
图19是图示根据本发明的实施例的基于分区的TB的残值升采样装置的示意图。视频解码器400中的残值升采样装置410和/或视频编码器500中的残值升采样装置520可以使用残值升采样装置1900实施。在本实施例中,残值升采样装置1900包含接收电路1902、控制电路1904以及残值升采样电路1906。接收电路1902用于从逆转变输出缓冲器(未示出)接收分区的转变块数据,其中逆转变输出缓冲器用于储存逆转变电路(例如,显示于图4中的逆转变电路408或显示于图5中的逆转变电路518)的逆转变输出。残值升采样电路1906用于对由接收电路1902搜集的分区的转变块数据执行残值升采样操作。
控制电路1904用于控制较小大小的分区的TB(即,TB分区)的残值升采样流。例如,控制电路1904确定触发残值升采样电路1906以开始分区的转变块数据的残值升采样的时间。在本实施例中,控制电路1904可根据信息(例如,TB大小(其包含TB宽度和TB高度)、transform_split_flag、TransformSplitDirection等)控制残值升采样流。信息可以从视频解码器(或视频编码器)中的任何块获得。例如,信息可以从熵解码器和/或重建电路获得。对于另一示例,信息可以从熵编码器和/或残值生成电路获得。在本实施例中,需要合并用于经历残值升采样的TB分区(较小大小的分区的TB)N的数目可以根据TB宽度(w)、TB高度(h)、transform_split_flag以及TransformSplitDirection(D)由控制电路1904确定。例如,如果{W,H,S,D}={32、32、0,N.A.},N=1。对于另一示例,如果{W,H,S,D}={32、8、1、1},N=4。对于又一示例,如果{W,H,S,D}={8、32、1、2},N=4。
图20是图示根据本发明的实施例的较小大小的分区的TB的残值升采样处理的流程图。在步骤2002,控制电路1904检查是否需要残值升采样。例如,当CU大小=64x64且场景1-3中的一个被选择时需要残值升采样。换句话说,当CU大小≠64x64或CU大小=64x64且选择场景4时不需要残值升采样。如果控制电路1904判断不需要残值升采样时,跳过以下步骤。如果控制电路1904判断需要残值升采样时,流程进入步骤2004。在步骤2004,控制电路1904指示接收电路1902开始从逆转变输出缓冲器(未示出)获取分区的转变块数据(例如,场景1中的一个16x16TB分区、场景2中的四个16x4TB分区或场景3中的四个4x16TB分区)用于残值升采样。应该注意到,接收电路1902根据如图16所示的四个16x16TB分区的升采样顺序、如图17所示的十六16x4TB分区的升采样顺序或如图18所示的十六4x16TB分区的升采样顺序接收TB分区。在步骤2006,控制电路1904检查获取的TB分区数目是否等于N。如果获取的TB分区数目不等于N,流程进入步骤2004。如果获取的TB分区的数目等于N,则流程进入步骤2008。在步骤2008,控制电路1904触发残值升采样电路1906以对搜集的TB分区执行残值升采样操作。
在本实施例中,当获取的TB分区等于N时,触发残值升采样操作用于处理所接收的TB分区,其中N=1或N=4。然而,此仅仅是用于说明性的目的,并非是本发明的限制。备选地,当接收N个转变块分区的一个残值列且可用于垂直升采样或接收N个转变块分区的一个残值行且可用于水平升采样时,控制电路1904可触发残值升采样电路1906。
当提出的TB分区的残值升采样处理由视频解码器/编码器采用时,用于场景1/2/3中的残值的32x32重建顺序可以是与用于场景4中的残值的32x32重建顺序是相同的,且与其它典型的视频编码标准(例如,VP9)兼容。以此方式,后阶段的设计的复杂性、成本和功耗,例如,环内滤波器,可以有效地降低。
图21是图示根据本发明的实施例的基于分区的TB的残值降采样装置的示意图。视频编码器500中的残值降采样装置504可以使用残值降采样装置2100实施。在本实施例中,残值降采样装置2100包含接收电路2102、控制电路2104以及残值降采样电路2106。接收电路2102用于从残值生成输出缓冲器(未示出)接收分区的转变块数据,其中残值生成输出缓冲器用于储存残值生成电路(例如,显示于图5中的残值生成电路502)的残值生成输出。残值降采样电路2106用于对由接收电路2102搜集的分区的转变块数据执行残值降采样操作。
控制电路2104用于控制较小大小的分区的TB(即,TB分区)的残值降采样流。例如,控制电路2104确定触发残值降采样电路2106以开始分区的转变块数据的残值降采样的时间。在本实施例中,控制电路2104可根据信息,例如TB大小(其包含TB宽度(w)、TB高度(h))、transform_split_flag以及TransformSplitDirection等控制残值降采样流。信息可以从视频编码器中的任何块获得。例如,信息可以从熵编码器和/或残值生成电路获得。在本实施例中,需要合并用于经理残值降采样的TB分区(较小大小的分区的TB)的数目N可以由控制电路2104根据TB宽度(w)、TB高度(h)、transform_split_flag和TransformSplitDirection(D)确定。例如,如果{W,H,S,D}={64、64、0,N.A.},N=1。对于另一示例,如果{W,H,S,D}={64、16、1、1},N=4。对于又一示例,如果{W,H,S,D}={16、64、1、2},N=4。
图22是图示根据本发明的实施例的较小大小的分区的TB的残值降采样处理的流程图。在步骤2202,控制电路2104检查是否需要残值降采样。例如,当CU大小=64x64且场景1-3中的一个被选择时需要残值降采样。换句话说,当CU大小≠64x64或CU大小=64x64且选择场景4时不需要残值降采样。如果控制电路2104判断不需要残值降采样时,跳过以下的步骤。如果控制电路2104判断需要残值降采样时,流程进入步骤2204。在步骤2204中,控制电路2104指示接收电路2102从残值生成输出缓冲器(未示出)获取分区的转变块数据(例如,场景1中的一个32x32TB分区、场景2中的四个32x8TB分区或场景3中的四个8x32TB分区)用于残值降采样。应该注意到,接收电路2102根据如图16所示的四个32x32TB分区的降采样顺序、如图17所示的十六32x8TB分区的降采样顺序或如图18所示的十六8x32TB分区的降采样顺序接收TB分区。在步骤2206,控制电路2104检查获取的TB分区的数目是否等于N。如果获取的TB分区的数目不等于N,则流程进入步骤2204。如果获取的TB分区的数目等于N,则流程进入步骤2208。在步骤2208,控制电路2104触发残值降采样电路2106以对搜集的TB分区执行残值降采样操作。
在本实施例中,当获取的TB分区的数目等于N,其中N=1或N=4时,触发残值降采样操作用于处理所接收的TB分区。然而,此仅仅是用于说明性的目的,并非是本发明的限制。备选地,当接收N个转变块分区的一个残值列且可用于垂直升采样或接收N个转变块分区的一个残值行且可用于水平升采样时,控制电路2104可残值降采样电路2106。
当提出的TB分区的残值降采样处理由视频编码器采用时,场景1/2/3中的64x64帧内/帧间预测顺序可以与场景4中的64x64帧内/帧间预测顺序相同,且兼容其它典型的视频编码标准(例如,VP9)。以此方式,视频编码器的设计复杂性、成本和功耗可以有效地降低。
尽管本发明已经在若干实施例方面描述,本领域技术人员将意识到本发明不限于所述实施例,且可以在所附权利要求的精神和范围内以修改和替代来实践。描述因此被看作是说明性的而不是限制性的。

Claims (20)

1.一种残值升采样装置,包含:
残值升采样缓冲器,用于储存中间残值升采样结果;以及
共享的残值升采样电路,用于采用相同的处理内核以执行第一方向残值升采样操作和第二方向残值升采样操作,其中所述第一方向残值升采样操作处理逆转变电路的逆转变输出,以生成所述中间残值升采样结果到所述残值升采样缓冲器,以及所述第二方向残值升采样操作对所述残值升采样缓冲器执行转置访问,以获取所述中间残值升采样结果,并处理所述中间残值升采样结果以生成最终残值升采样结果。
2.如权利要求1所述的残值升采样装置,其特征在于,所述共享的残值升采样电路还用于储存所述最终残值升采样结果于所述残值升采样缓冲器,以便所述最终残值升采样结果由重建电路从所述残值升采样缓冲器获取。
3.如权利要求1所述的残值升采样装置,其特征在于,所述共享的残值升采样电路还用于输出所述最终残值升采样结果到重建电路而不储存所述最终残值升采样结果到所述残值升采样缓冲器。
4.如权利要求1所述的残值升采样装置,其特征在于,所述残值升采样缓冲器分配于存储器装置,所述逆转变电路的所述逆转变输出储存于所述存储器装置。
5.一种残值降采样装置,包含:
残值降采样缓冲器,用于储存中间残值降采样结果;以及
共享的残值降采样电路,用于采用相同的处理内核以执行第一方向残值降采样操作和第二方向残值降采样操作,其中所述第一方向残值降采样操作处理残值生成电路的残值生成输出,以生成所述中间残值降采样结果到所述残值降采样缓冲器,以及所述第二方向残值降采样操作对所述残值降采样缓冲器执行转置访问以获取所述中间残值降采样结果,并处理所述中间残值降采样结果以生成最终残值降采样结果。
6.如权利要求5所述的残值降采样装置,其特征在于,所述共享的残值降采样电路还用于储存所述最终残值降采样结果于所述残值降采样缓冲器,以便所述最终残值降采样结果由转变电路从所述残值降采样缓冲器获取。
7.如权利要求5所述的残值降采样装置,其特征在于,所述共享的残值降采样电路还用于输出所述最终残值降采样结果到转变电路而不储存所述最终残值降采样结果到所述残值降采样缓冲器。
8.如权利要求5所述的残值降采样装置,其特征在于,所述残值降采样缓冲器分配于存储器装置,所述残值生成电路的所述残值生成输出储存于所述存储器装置。
9.一种残值升采样电路,包含:
残值升采样转置缓冲器,用于储存中间残值升采样结果;
第一方向残值升采样电路,用于处理逆转变电路的逆转变输出以生成所述中间残值升采样结果到所述残值升采样转置缓冲器;以及
第二方向残值升采样电路,用于对所述残值升采样转置缓冲器执行转置访问以获取所述中间残值升采样结果,并处理所述中间残值升采样结果以生成最终残值升采样结果;
其中所述第一方向残值升采样电路和所述第二方向残值升采样电路的一个在所述第一方向残值升采样电路和所述第二方向残值升采样电路的另一个完成处理所述转变块的残值前,开始处理所述转变块的残值;或
其中所述第一方向残值升采样电路和所述第二方向残值升采样电路的一个在所述第一方向残值升采样电路和所述第二方向残值升采样电路的另一个完成处理另一转变块的残值之前,开始处理一个转变块的残值。
10.如权利要求9所述的残值升采样电路,其特征在于,所述第二方向残值升采样电路还用于储存所述最终残值升采样结果于逆转变输出缓冲器,所述逆转变输出储存于所述逆转变输出缓冲器,以便所述最终残值升采样结果由重建电路从所述逆转变输出缓冲器获取。
11.如权利要求9所述的残值升采样电路,其特征在于,所述第二方向残值升采样电路还用于输出所述最终残值升采样结果到重建电路而不储存所述最终残值升采样结果到逆转变输出缓冲器,所述逆转变输出储存于所述逆转变输出缓冲器。
12.一种残值降采样电路,包含:
残值降采样转置缓冲器,用于储存中间残值降采样结果;
第一方向残值降采样电路,用于处理残值生成电路的残值生成输出,以生成所述中间残值降采样结果到所述残值降采样转置缓冲器;以及
第二方向残值降采样电路,用于对所述残值降采样转置缓冲器执行转置访问以获取所述中间残值降采样结果,并处理所述中间残值降采样结果以生成最终残值降采样结果;
其中所述第一方向残值降采样电路和所述第二方向残值降采样电路的一个在所述第一方向残值降采样电路和所述第二方向残值降采样电路的另一个完成处理转变块的残值之前,开始处理所述转变块的残值;或
其中所述第一方向残值降采样电路和所述第二方向残值降采样电路的一个在所述第一方向残值降采样电路和所述第二方向残值降采样电路的另一个完成处理另一转变块的残值之前,开始一个转变块的残值。
13.如权利要求12所述的残值降采样电路,其特征在于,所述第二方向残值降采样电路还用于储存所述最终残值降采样结果于残值生成输出缓冲器,所述残值生成输出储存于所述残值生成输出缓冲器,以便所述最终残值降采样结果由转变电路从所述残值生成输出缓冲器获得。
14.如权利要求12所述的残值降采样电路,其特征在于,所述第二方向残值降采样电路还用于输出所述最终残值降采样结果到转变电路而不储存所述最终残值降采样结果到残值生成输出缓冲器,所述残值生成输出储存于所述残值生成输出缓冲器。
15.一种残值升采样装置,包含:
一通升采样电路,用于对逆转变电路的逆转变输出执行一通二维升采样操作以一个接一个输出多个升采样的残值;
其中所述一通二维升采样操作包含合并而不转置访问的第一方向残值升采样操作和第二方向残值升采样操作。
16.如权利要求15所述的残值升采样装置,其特征在于,其中所述一通升采样电路包含:
逆转变输出缓冲器地址发生器,用于生成逆转变输出缓冲器地址到逆转变输出缓冲器;
一通升采样处理器,用于对从所述逆转变输出缓冲器响应于逆转变输出缓冲器地址读取的残值数据执行所述一通二维升采样操作;以及
控制器,用于控制所述逆转变输出缓冲器地址发生器和所述一通升采样处理器。
17.如权利要求16所述的残值升采样装置,其特征在于,所述逆转变输出缓冲器地址发生器根据解码信息决定所述逆转变输出缓冲器地址,以及所述一通升采样处理器根据所述解码信息配置所述一通二维升采样操作。
18.一种残值降采样装置,包含:
一通降采样电路,用于对残值生成电路的残值生成输出执行一通二维降采样操作以一个接一个输出多个降采样的残值;
其中一通二维降采样操作包含合并而不转置访问的第一方向残值降采样操作和第二方向残值降采样操作。
19.如权利要求18所述的残值降采样装置,其特征在于,所述一通降采样电路包含:
残值生成输出缓冲器地址发生器,用于生成残值生成输出缓冲器地址到残值生成输出缓冲器;
一通降采样处理器,用于对从所述残值生成输出缓冲器响应于所述残值生成输出缓冲器地址读取的残值数据执行所述一通二维降采样操作;以及
控制器,用于控制所述逆转变输出缓冲器地址发生器和所述一通降采样处理器。
20.如权利要求19所述的残值降采样装置,其特征在于,所述残值生成输出缓冲器地址发生器根据编码信息决定所述残值生成输出缓冲器地址,以及所述一通降采样处理器根据所述编码信息配置所述一通二维降采样操作。
CN201610683849.2A 2015-07-01 2016-08-18 残值升采样装置、残值降采样装置以及电路 Active CN107547897B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201562187476P 2015-07-01 2015-07-01
US15/197,741 2016-06-29
US15/197,741 US10257524B2 (en) 2015-07-01 2016-06-29 Residual up-sampling apparatus for performing transform block up-sampling and residual down-sampling apparatus for performing transform block down-sampling

Publications (2)

Publication Number Publication Date
CN107547897A true CN107547897A (zh) 2018-01-05
CN107547897B CN107547897B (zh) 2021-01-08

Family

ID=57683424

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610683849.2A Active CN107547897B (zh) 2015-07-01 2016-08-18 残值升采样装置、残值降采样装置以及电路

Country Status (2)

Country Link
US (1) US10257524B2 (zh)
CN (1) CN107547897B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3744093A4 (en) * 2018-01-25 2022-01-26 LG Electronics Inc. VIDEO DECODER AND RELATED CONTROL METHOD
US11153563B2 (en) * 2019-03-12 2021-10-19 Qualcomm Incorporated Combined in-loop filters for video coding
US11503341B1 (en) * 2021-03-29 2022-11-15 Amazon Technologies, Inc. Perceptually motivated video pre-filter
US20220405980A1 (en) * 2021-06-17 2022-12-22 Nvidia Corporation Fused processing of a continuous mathematical operator

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1973546A (zh) * 2004-03-09 2007-05-30 汤姆森研究基金公司 用于高级视频编码的降低分辨率更新模式
CN101040533A (zh) * 2004-10-13 2007-09-19 汤姆逊许可公司 复杂性可伸缩的视频编码和解码方法和设备
CN101668205A (zh) * 2009-09-25 2010-03-10 南京邮电大学 基于残差宏块自适应下采样立体视频压缩编码方法
WO2010105408A1 (zh) * 2009-03-17 2010-09-23 华为技术有限公司 一种图像的缩放方法和装置
CN104704850A (zh) * 2012-10-09 2015-06-10 思科技术公司 对位流中的图像格式转换的在先解码的图像的输出管理
CN104871545A (zh) * 2012-12-21 2015-08-26 杜比实验室特许公司 高位深度视频的可扩展编码中的高精度上采样

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100486700B1 (ko) * 1999-09-04 2005-05-03 삼성전자주식회사 선형 다운/업 샘플링 장치 및 그를 이용한 일반화된 격주사선 처리 부호화/복호화 방법 및 장치
US20010016010A1 (en) * 2000-01-27 2001-08-23 Lg Electronics Inc. Apparatus for receiving digital moving picture
KR100370076B1 (ko) * 2000-07-27 2003-01-30 엘지전자 주식회사 다운 컨버젼 기능을 갖는 비디오 디코더 및 비디오 신호를디코딩 하는 방법
US7876833B2 (en) * 2005-04-11 2011-01-25 Sharp Laboratories Of America, Inc. Method and apparatus for adaptive up-scaling for spatially scalable coding
JP4470857B2 (ja) * 2005-10-28 2010-06-02 トヨタ自動車株式会社 電気機器の冷却構造
EP2916549B1 (en) * 2011-06-24 2018-07-18 NTT DoCoMo, Inc. Method and apparatus for motion compensation
CN104396249B (zh) * 2012-06-20 2017-12-26 寰发股份有限公司 可伸缩视频编码的层间预测的方法和设备
GB2509704B (en) * 2013-01-04 2016-06-01 Canon Kk Method and device for processing prediction information for encoding or decoding at least part of an image
US10455242B2 (en) * 2015-03-04 2019-10-22 Qualcomm Incorporated Signaling output indications in codec-hybrid multi-layer video coding

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1973546A (zh) * 2004-03-09 2007-05-30 汤姆森研究基金公司 用于高级视频编码的降低分辨率更新模式
CN101040533A (zh) * 2004-10-13 2007-09-19 汤姆逊许可公司 复杂性可伸缩的视频编码和解码方法和设备
WO2010105408A1 (zh) * 2009-03-17 2010-09-23 华为技术有限公司 一种图像的缩放方法和装置
CN101668205A (zh) * 2009-09-25 2010-03-10 南京邮电大学 基于残差宏块自适应下采样立体视频压缩编码方法
CN104704850A (zh) * 2012-10-09 2015-06-10 思科技术公司 对位流中的图像格式转换的在先解码的图像的输出管理
CN104871545A (zh) * 2012-12-21 2015-08-26 杜比实验室特许公司 高位深度视频的可扩展编码中的高精度上采样

Also Published As

Publication number Publication date
US20170006299A1 (en) 2017-01-05
CN107547897B (zh) 2021-01-08
US10257524B2 (en) 2019-04-09

Similar Documents

Publication Publication Date Title
CN110300977B (zh) 用于图像处理和视频压缩的方法
CN105052140B (zh) 用于下一代视频的模式和参考类型数据的内容自适应熵编码
CA2682449C (en) Intra-macroblock video processing
CN105981389B (zh) 图像编码装置、图像解码装置、编码流变换装置、图像编码方法以及图像解码方法
KR101588144B1 (ko) 루마 기반 크로마 인트라 예측
CN107318026B (zh) 视频编码器以及视频编码方法
CA2682461C (en) Selective information handling for video processing
CN109565587B (zh) 具有上下文解码和重构旁路的视频编码的方法和***
CN103918273B (zh) 确定用于变换系数的二进制码字的方法
CN110691250B (zh) 结合块匹配和串匹配的图像压缩装置
CN107547897A (zh) 残值升采样装置、残值降采样装置以及电路
CN107667528A (zh) 用于视频编解码的自适应参考帧缓存的方法和***
KR20210103573A (ko) 크로마 블록 예측 방법 및 디바이스
CN102761739B (zh) 用来动态地调整视频译码复杂度的装置与方法
WO2023028965A1 (en) Hardware codec accelerators for high-performance video encoding
CN105245896A (zh) Hevc并行运动补偿方法及装置
CN105794208B (zh) 编码解码图像方法、编码解码图像设备及相应计算机可读介质
Fang et al. Fast intra prediction algorithm and design for high efficiency video coding
CN109005410A (zh) 一种系数存取方法和装置及机器可读介质
KR20200096862A (ko) 잔차 레벨 데이터의 위치 의존적 엔트로피 코딩을 위한 임베디드 코덱(ebc) 회로
CN104602026A (zh) 一种适用于hevc标准下编码器中全复用的重建环路结构
US8284836B2 (en) Motion compensation method and apparatus to perform parallel processing on macroblocks in a video decoding system
KR20240030922A (ko) Mpeg-vcm에 기반하여 인공신경망을 분산 처리하는 npu 및 방법
CN115604465A (zh) 基于相空间连续性的光场显微图像无损压缩方法及装置
JP2003244725A (ja) 画像処理装置

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