首页> 中国专利> 部分解码电路和部分编码电路

部分解码电路和部分编码电路

摘要

本发明提供一种部分解码电路和部分编码电路。部分解码电路包含转置缓冲器,储存逆第二变换的中间逆残差变换结果;第一方向逆残差变换电路,处理逆量化电路的逆量化输出以产生中间逆残差变换结果至转置缓冲器;以及第二方向逆残差变换电路,访问转置缓冲器以获取中间逆残差变换结果,并处理中间逆残差变换结果以产生逆第二变换的最终逆残差变换结果,其中逆第二变换的最终逆残差变换结果更被逆变换电路处理;其中第一方向逆残差变换电路和第二方向逆残差变换电路以并行处理方式处理多个不同处理单元的部分残差变换数据。本发明的部分解码电路和部分编码电路可以实现低成本及/或高性能的逆残差/残差变换设计。

著录项

  • 公开/公告号CN107623854A

    专利类型发明专利

  • 公开/公告日2018-01-23

    原文格式PDF

  • 申请/专利权人 联发科技股份有限公司;

    申请/专利号CN201610929596.2

  • 发明设计人 邱铭豪;王佑铨;张永昌;

    申请日2016-10-31

  • 分类号H04N19/42(20140101);H04N19/44(20140101);H04N19/436(20140101);H04N19/124(20140101);

  • 代理机构11111 北京万慧达知识产权代理有限公司;

  • 代理人白华胜;王蕊

  • 地址 中国台湾新竹市新竹科学工业园区笃行一路一号

  • 入库时间 2023-06-19 04:26:08

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-02-04

    授权

    授权

  • 2018-02-16

    实质审查的生效 IPC(主分类):H04N19/42 申请日:20161031

    实质审查的生效

  • 2018-01-23

    公开

    公开

说明书

【技术领域】

本发明有关于视频解码器设计以及视频编码器设计,更具体来说,有关于处理逆第二变换(inverse second transform)的视频编码器/解码器的部分解码电路以及处理第二变换的视频编码器的部分编码电路。

【背景技术】

传统的视频编码标准通常采用基于编码技术的块来充分利用空间和时间冗余。举例来说,基本的做法是将整个源帧分为多个块,对每个块执行预测,变换每个块的残差(residual)以及执行量化、扫描和熵编码。此外,视频编码器的内部解码环中产生的重构帧(reconstructed frame)用于为编码随后的块提供参考像素数据。举例来说,逆扫描、逆量化,以逆变换可被包含在视频编码器的内部解码环中以恢复每一块的残差,其中残差将被加入至每一块的预测采样中,用于产生重构帧。视频编码器的内部解码环的功能也在视频解码器中实施,以恢复每个块的残差,并生成重构帧。

对于特定视频编码标准,顺序执行逆第二变换和典型的逆变换的多阶段逆变换可被实施于视频编码/解码器中,而顺序执行典型的变换和第二变换的多阶段变换可被实施于视频编码器中。需要具有低成本及/或高性能的逆残差变换设计以及具有低成本及/或高性能的残差变换设计,用于分别处理逆第二变换和第二变换。

【发明内容】

依据本发明的示范性实施例,提出一种混合视频解码器和相关的混合视频解码方法以解决上述问题。

依据本发明的一个实施例,提出一种部分解码电路,具有逆第二变换,包含转置缓冲器,储存逆第二变换的中间逆残差变换结果;第一方向逆残差变换电路,处理逆量化电路的逆量化输出以产生中间逆残差变换结果至转置缓冲器;以及第二方向逆残差变换电路,访问转置缓冲器以获取中间逆残差变换结果,并处理中间逆残差变换结果以产生逆第二变换的最终逆残差变换结果,其中逆第二变换的最终逆残差变换结果更被逆变换电路处理;其中第一方向逆残差变换电路和第二方向逆残差变换电路以并行处理方式处理多个不同处理单元的部分残差变换数据。

依据本发明的另一实施例,提出一种部分编码电路,具有第二变换,包含转置缓冲器,储存第二变换的中间残差变换结果;第一方向残差变换电路,处理变换电路的变换输出以产生中间残差变换结果至转置缓冲器;以及第二方向残差变换电路,访问转置缓冲器以获取中间残差变换结果,并处理中间残差变换结果以产生第二变换的最终残差变换结果,其中最终残差变换结果更被量化电路处理;其中第一方向残差变换电路和第二方向残差变换电路以并行处理方式处理多个不同处理单元的部分残差变换数据。

依据本发明的另一实施例,提出一种部分解码电路,具有逆第二变换,包含转置缓冲器,储存逆第二变换的中间逆残差变换结果;共享逆残差变换电路,采用相同的处理内核来执行第一方向逆残差变换操作和第二方向逆残差变换操作,其中第一方向逆残差变换操作处理逆量化电路的逆量化输出以产生中间逆残差变换结果至转置缓冲器;第二方向逆残差变换操作访问转置缓冲器以获取中间逆残差变换结果,并处理中间逆残差变换结果以产生逆第二变换的最终逆残差变换结果;且最终逆残差变换结果更被逆变换电路处理。

依据本发明的另一实施例,提出一种部分编码电路,具有第二变换,包含转置缓冲器,储存第二变换的中间残差变换结果;以及共享残差变换电路,采用相同的处理内核来执行第一方向残差变换操作和第二方向残差变换操作,其中第一方向残差变换操作处理变换电路的变换输出以产生中间残差变换结果至转置缓冲器,第二方向残差变换电路访问转置缓冲器以获取中间残差变换结果,并处理中间残差变换结果以产生第二变换的最终残差变换结果;且最终残差变换结果更被量化电路处理。

本发明的部分解码电路和部分编码电路可以实现低成本及/或高性能的逆残差变换设计以及具有低成本及/或高性能的残差变换设计。

【附图说明】

图1是依据本发明实施例的处理单元的示意图。

图2是依据本发明实施例的残差变换内核的示意图。

图3是依据本发明实施例的一个处理元件的示意图。

图4是依据本发明实施例的解码比特流的视频解码器的示意图。

图5是依据本发明实施例的编码视频信号的视频编码器的示意图。

图6是依据本发明实施例的具有高性能逆第二变换的部分解码电路的示意图。

图7是依据本发明实施例的水平和垂直逆变换的并行处理的示意图。

图8是依据本发明实施例的具有高性能第二变换的部分编码电路的示意图。

图9是依据本发明实施例的水平和垂直逆变换的并行处理的示意图。

图10是依据本发明实施例的具有高性能逆第二变换的另一部分解码电路的示意图。

图11是依据本发明实施例的具有低成本的逆第二变换的部分解码电路的示意图。

图12是依据本发明实施例的具有低成本的第二变换的部分编码电路的示意图。

图13是依据本发明实施例的具有低成本的逆第二变换的部分解码电路的示意图。

图14是依据本发明实施例的具有高性能和低成本的逆第二变换的部分解码电路的示意图。

图15是依据本发明实施例的NNRTU逆量化和NRTU逆第二变换的并行处理的示意图。

图16是依据本发明实施例的具有高性能和低成本的第二变换的部分编码电路的示意图。

图17是依据本发明实施例的NNRTU量化和NRTU第二变换的并行处理的示意图。

图18是依据本发明实施例的具有高性能和低成本的第二变换的另一部分解码电路的示意图。

图19是依据本发明实施例的具有另一高性能逆第二变换的部分解码电路的示意图。

图20是依据本发明实施例的具有另一低成本逆第二变换的部分解码电路的示意图。

图21是依据本发明实施例的具有另一高性能和低成本的逆第二变换的部分解码电路的示意图。

图22是依据本发明实施例的NNRTU逆量化和NRTU逆第二变换的并行处理的示意图。

【具体实施方式】

在说明书及权利要求书当中使用了某些词汇来指称特定的组件。所属领域中的技术人员应可理解,制造商可能会用不同的名词来称呼同样的组件。本说明书及权利要求书并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的基准。在通篇说明书及权利要求书当中所提及的「包含」是开放式的用语,故应解释成「包含但不限定于」。另外,「耦接」一词在此包含任何直接及间接的电气连接手段。因此,若文中描述第一装置耦接于第二装置,则代表第一装置可直接电气连接于第二装置,或透过其它装置或连接手段间接地电气连接至第二装置。

对于某些视频编码标准,第二变换功能和逆第二变换功能可实施于视频编码器中,且逆第二变换功能可以实施在视频解码器中。例如,第二代音频-视频编码标准(secondgeneration of Audio-video coding standard,简写为AVS2)是一个针对更高的视频编码效率的面向应用的视频编码标准。依据AVS2编码标准,提出了顺序执行逆第二变换和典型的逆变换(例如,逆离散余弦变换(IDCT))的多阶段逆变换,并提出了顺序执行典型的变换(例如,离散余弦变换(DCT))和第二变换的多阶段变换。因为视频编码器具有解码环嵌入其中,多阶段逆变换在视频编码器和视频解码器中均被实施。至于多阶段变换,其实施于视频编码器中。

图1是依据本发明实施例的处理单元(process unit,简写为PU)的示意图。一个待被编码的PU可包含待被典型的变换(例如,DCT)处理的残差数据,也可能包含待被典型的变换(例如,DCT)和第二变换处理的残差数据。类似地,一个待被解码的PU可包含待被典型的逆变换(例如,IDCT)处理的残差数据,且可包含待被逆第二变换和典型的逆变换(例如,IDCT)处理的残差数据。如图1所示,一个PU是由残差数据组成的I乘J块,其中I和J是正整数。PU可被分为新的残差变换单元(novel residual transform unit,简写为NRTU)和非新的残差变换单元(non-novel residual transform unit,简写为NNRTU)。如图1中的阴影区域所示,NRTU是X乘Y块,其中X和Y是正整数,且X≦I且Y≦J。如图1所示,NRTU是PU的一部分,且并不属于NNRTU。因此,如图1所示,NNRTU是PU的剩余部分。NRTU(例如,4x4残差数据块)将经历视频编码器中的典型的变换和第二变换,并将经历视频编码器/解码器中的逆第二变换和典型的逆变换。然而,在视频编码器中,NNRTU将经历典型的变换,但是并不会经历第二变换,并且在视频编码器/解码器中的将经历逆变换,但是并不经历逆第二变换。换言之,第二变换/逆第二变换应用于NRTU,而非NNRTU。

第二变换可被视为视频编码器中的典型的变换阶段(例如,DCT)之后的再次变换阶段,而逆第二变换可被视为典型的逆变换阶段(例如,IDCT)之前的预逆变换阶段。图2是依据本发明实施例的残差变换内核的示意图。残差变换内核200的架构可被用来实现视频编码器中的第二变换电路或者视频编码器/解码器中的逆第二变换电路。如图2所示,残差变换内核200包含处理内核202、查找表(look-up table,简写为LUT)204,和控制器206。控制器206控制处理内核202和LUT 204的操作。在一个示范性设计中,处理内核202可包含多个处理元件PE1-PEM用于执行算术操作,其中M为正整数。图3是依据本发明实施例的一个处理元件的示意图。图2所示的处理元件PE1-PEM中的每一个可使用图3所示的处理元件300来实施。处理元件300包含多个用于与变换相关的操作的乘法器302_1-302_N,其中N为正整数。相同的输入数据被馈入至乘法器302_1-302_N中的每一个。乘法器302_1-302_N接收变换系数,并将相同的输入数据与各个变换系数相乘。在一个示范性的设计中,乘法器302_1-302_N所使用的变换系数可自保持在存储器中的LUT>

本发明提出一种创新的具有低成本及/或高性能的逆残差变换设计和一种创新的具有低成本及/或高性能的残差变换设计,以分别处理逆第二变换和第二变换。进一步的细节描述如下。

应当注意的是,在下文中提到的术语“电路”可为用于实现指定的功能的专用纯硬件,或者可以是运行用于实现指定功能的软件模块的处理器。即,一个编码/解码功能(例如,第二变换功能及/或逆第二变换功能)可为基于硬件的实施或者基于软件的实施,取决于实际设计考虑。

图4是依据本发明实施例的解码比特流的视频解码器的示意图。视频解码器400具有基本的解码组件,例如熵解码器402、具有逆第二变换的部分解码电路404、逆变换电路(标示为“IT”,输出残差采样)406、帧内预测电路(位于帧内路径上,标示为“IP”)412、运动向量产生电路(位于帧间路径上,标示为“MV产生电路”)414、运动补偿电路(位于帧间路径上,标示为“MC”)416、复用器(输出预测采样,标示为“MUX”)418、重构电路(输出重构采样)420、一个或多个环路滤波器(例如,去块滤波器、采样自适应偏移(Sample adaptiveoffset,简写为SAO)滤波器等)422,以及一个或多个参考帧缓冲器424。如图4所示,本发明所提出的部分解码电路404耦接于熵解码器402和逆变换电路406之间。因此,部分解码电路404接收前面的电路的残差输出(即,来自于熵解码器402的熵解码结果),并产生部分解码结果至逆变换电路406。在该实施例中,部分解码电路404至少支持逆扫描功能、逆量化功能和逆第二变换功能。在视频解码器400符合AVS2编码标准的情况下,多阶段逆变换顺序执行逆第二变换和典型的逆变换(例如,IDCT),其中逆第二变换在部分解码电路404中完成,而典型的逆变换在逆变换电路406中完成。然而,其并非为本发明的限制。任一使用所提出的具有低成本及/或高性能的逆第二变换架构的视频解码器落入本发明的保护范围中。

图5是依据本发明实施例的编码视频信号的视频编码器的示意图。视频编码器500具有基本的编码组件,例如残差产生电路502、变换电路(标示为“T”)504、具有第二变换的部分编码电路506(输出残差句法)、熵编码器(其中具有扫描电路510(标示为“S”)并输出比特流)512、具有逆第二变换的部分解码电路514、逆变换电路(标示为“IT”)518、重构电路522、一个或多个环路滤波器(例如,去块滤波器、SAO滤波器等)524、一个或多个参考帧缓冲器526、运动向量产生电路(标示为“MV产生电路”,输出帧间模式和运动句法)528、运动补偿电路(标示为“MC”)530、帧内预测电路(标示为“IP”,输出帧内模式句法)532,以及复用器(标示为“MUX”)534。

如图5所示,所提出的部分编码电路506耦接于变换电路504和熵编码器512之间,也耦接于变换电路504和所提出的部分解码电路514之间。所提出的部分解码电路514耦接于部分编码电路506和逆变换电路518之间。因此部分编码电路506接收变换电路504的变换输出,并产生部分编码结果至熵编码器512和部分解码电路514;而部分解码电路514接收前面的电路(例如,来自部分编码电路506的量化电路的量化输出)的残差输出,并产生部分解码结果至逆变换电路518。在该实施例中,部分编码电路506至少支持量化功能和第二变换功能,而部分解码电路514至少支持逆量化功能和逆第二变换功能。在视频编码器500符合AVS2编码标准的情况下,多阶段变化顺序执行典型的变换(例如,DCT)和第二变换,且多阶段逆变换顺序执行逆第二变换和典型的逆变换(例如,IDCT),其中第二变换在部分编码电路506中完成,而典型的变换在变换电路504中完成,逆第二变换在部分解码电路514中完成,而典型的逆变换在逆变换电路518中完成。然而,其并非为本发明的限制。任一使用所提出的具有低成本及/或高性能的第二变换架构的视频编码器落入本发明的保护范围中,且任一使用所提出的具有低成本及/或高性能的逆第二变换架构的视频编码器落入本发明的保护范围中。

依据本发明的部分实施例,具有逆第二变换的部分解码电路404/514可使用所提出的多种电路设计中的一个实施以获取低成本及/或高性能。类似地,在本发明的部分实施例中,具有第二变换的部分编码电路506可使用所提出的多种电路设计中的一个实施以获取低成本及/或高性能。所提出的用于视频编码器/解码器中的逆第二变换的电路设计和所提出的用于视频编码器中的第二变换的电路设计详述如下。

图6是依据本发明实施例的具有高性能逆第二变换的部分解码电路的示意图。视频解码器400中的部分解码电路404可使用部分解码电路600实施。部分解码电路600包含逆扫描电路(标示为“IS”)602、逆量化电路(标示为“IQ”)604、第一方向逆残差变换电路606、转置缓冲器608、第二方向逆残差变换电路610,以及多个旁路路径612、614、616。逆扫描电路602处理前面的电路的残差输出,并产生逆扫描输出,其中若部分解码电路600实施于视频解码器中,前面的电路可以是熵解码器(例如,图4所示的熵解码器402)。逆量化电路604处理逆扫描电路602的逆扫描输出以产生逆量化输出。

第一方向逆残差变换电路606、转置缓冲器608和第二方向逆残差变换电路610可被视为逆第二变换电路。第一方向逆残差变换电路606和第二方向逆残差变换电路610中的每一个可以利用图2所示的残差变换内核200的架构实施。转置缓冲器608储存逆第二变换的中间逆残差变换结果。第一方向逆残差变换电路606处理逆量化电路604的逆量化输出以产生中间逆残差变换结果至转置缓冲器608。第二方向逆残差变换电路610访问转置缓冲器608以获取中间逆残差变换结果,并处理中间逆残差变换结果以产生逆第二变换的最终逆残差变换结果。逆第二变换的最终逆残差变换结果被产生至逆变换电路(例如,图4所示的逆变换电路406)。换言之,逆第二变换的最终逆残差变换结果更被逆变换电路处理。

在一个示范性的设计中,第一方向逆残差变换电路606可以是逆水平残差变换电路,而第二方向逆残差变换电路610可以是逆垂直残差变换电路。在另一个示范性的设计中,第一方向逆残差变换电路606可以是逆垂直残差变换电路,而第二方向逆残差变换电路610可以是逆水平残差变换电路。

如上所述,第一方向逆残差变换电路606执行第一方向的逆变换,而第二方向逆残差变换电路610执行不同于第一方向的第二方向的逆变换。举例来说,第一方向逆残差变换以逐列(column-by-column)的方式产生逆变换结果。然而,第二方向逆残差变换以逐行(row-by-row)的方式产生逆变换结果。因此,转置缓冲器608用于正确提供第二方向逆残差变换所需的数据。例如,假设第一方向逆残差变换以逐列的方式产生逆变换结果,第一方向逆残差变换可将逆变换结果以逐列的方式储存至转置缓冲器608中,而第二方向逆残差变换可对转置缓冲器608执行转置访问以以逐行的方式获取所储存的数据。另举一例,假设第一方向逆残差变换以逐列的方式产生逆变换结果,第一方向逆残差变换可将逆变换结果以逐行的方式储存至转置缓冲器608中,而第二方向逆残差变换可对转置缓冲器608执行转置访问以以逐行的方式获取所储存的数据。然而,上述记载仅用作说明,并非用于限制本发明。

在该实施例中,部分解码电路600采用具有两个单独的电路(即,第一方向逆残差变换电路606和第二方向逆残差变换电路610)的高性能逆残差变换设计以支持逆水平变换和逆垂直变换的并行处理。例如,第一方向逆残差变换电路606和第二方向逆残差变换电路610可以并行处理方式处理不同PU的部分残差变换数据。

图7是依据本发明实施例的水平和垂直逆变换的并行处理的示意图。假设第一方向逆残差变换电路606用于执行逆水平残差变换,而第二方向逆残差变换电路610用于执行逆垂直残差变换。在第一方向逆残差变换电路606对PU0的NRTU(标示为“NRTU0”)执行逆水平残差变换之后,第二方向逆残差变换电路610对PU0的NRTU(标示为“NRTU0”)执行逆垂直残差变换。此时,第一方向逆残差变换电路606对PU1的NRTU(标示为“NRTU1”)执行逆水平残差变换。换言之,当第一方向逆残差变换电路606对PU1的NRTU(标示为“NRTU1”)执行逆水平残差变换时,第二方向逆残差变换电路610对PU0的NRTU(标示为“NRTU0”)执行逆垂直残差变换。类似地,在第一方向逆残差变换电路606对PU1的NRTU(标示为“NRTU1”)执行逆水平残差变换之后,第二方向逆残差变换电路610对PU1的NRTU(标示为“NRTU1”)执行逆垂直残差变换。此时,第一方向逆残差变换电路606对PU2的NRTU(标示为“NRTU2”)执行逆水平残差变换。类似地,PU2的NRTU(标示为“NRTU2”)和PU3的NRTU(标示为“NRTU3”)分别被执行逆水平/逆垂直残差变换。换言之,当第一方向逆残差变换电路606对PU2的NRTU(标示为“NRTU2”)执行逆水平残差变换时,第二方向逆残差变换电路610对PU1的NRTU(标示为“NRTU1”)执行逆垂直残差变换。以这种方式,第一方向逆残差变换电路606和第二方向逆残差变换电路610对不同PU中的NRTU执行逆水平和垂直变换的并行处理。换言之,与一个PU中的NRTU相关联的残差变换数据的逆水平变换的处理时间和与另一个PU中的NRTU相关联的残差变换数据的逆垂直变换的处理时间重叠。

在一个PU中的残差变换数据要求的逆第二变换包含逆水平残差变换和逆垂直残差变换两者时,残差变换数据被第一方向逆残差变换电路(例如,逆水平残差变换电路)606和第二方向逆残差变换电路(例如,逆垂直残差变换电路)610处理。然而,当一个PU中的残差变换数据不被要求被逆水平残差变换和逆垂直残差变换中的一个或两个处理时,旁路路径612、614、616中的一个可被用于传送残差变换数据。如图6所示,旁路路径612耦接于逆量化电路604的输出和逆变换电路(例如,图4所示的逆变换电路406)的输入之间,旁路路径614耦接于逆量化电路604的输出和第二方向逆残差变换电路610的输入之间,而旁路路径616耦接于转置缓冲器608的输出和逆变换电路(例如,图4所示的逆变换电路406)的输入之间。在一个PU中的残差变换数据(例如,一个PU的NNRTU)不被要求被第一方向逆残差变换电路606和第二方向逆残差变换电路610两个处理的第一种情况下,旁路路径612被选择并被用于发送残差变换数据,以旁路第一方向逆残差变换电路606和第二方向逆残差变换电路610。在一个PU中的残差变换数据不被要求被第一方向逆残差变换电路606处理的第二种情况下,旁路路径614被选择并被用于发送残差变换数据,以旁路第一方向逆残差变换电路606。在一个PU中的残差变换数据不被要求被第二方向逆残差变换电路610处理的第三种情况下,旁路路径616被选择并被用于发送残差变换数据,以旁路第二方向逆残差变换电路610。

图8是依据本发明实施例的具有高性能第二变换的部分编码电路的示意图。视频编码器500中的部分编码电路506可使用部分编码电路800实施。部分编码电路800包含第一方向残差变换电路802、转置缓冲器804、第二方向残差变换电路806、量化电路808,以及多个旁路路径810、812、814。第一方向残差变换电路802、转置缓冲器804和第二方向残差变换电路806可被视为第二变换电路。第一方向残差变换电路802和第二方向逆残差变换电路806中的每一个可以利用图2所示的残差变换内核200的架构实施。转置缓冲器804储存第二变换的中间残差变换结果。第一方向残差变换电路802处理前面的电路的残差输出(例如,变换电路504的变换输出)以产生中间残差变换结果至转置缓冲器804。第二方向逆残差变换电路806访问转置缓冲器804以获取中间残差变换结果,并处理中间残差变换结果以产生第二变换的最终残差变换结果。量化电路808处理第二变换的最终残差变换结果以产生量化输出至随后的电路(例如,图5所示的熵编码器512及部分解码电路514)。

在一个示范性的设计中,第一方向残差变换电路802可为垂直残差变换电路,而第二方向残差变换电路806可为水平残差变换电路。在另一个示范性的设计中,第一方向残差变换电路802可为水平残差变换电路,而第二方向残差变换电路806可为垂直残差变换电路。

如上所述,第一方向残差变换电路802执行第一方向的逆换,而第二方向残差变换电路806执行不同于第一方向的第二方向的变换。举例来说,第一方向残差变换以逐列的方式产生变换结果。然而,第二方向残差变换以逐行的方式执行产生变换结果。因此,转置缓冲器804用于正确提供第二方向残差变换所需的数据。例如,假设第一方向残差变换以逐列的方式产生变换结果,第一方向残差变换可将变换结果以逐列的方式储存至转置缓冲器804中,而第二方向残差变换可对转置缓冲器804执行转置访问以以逐行的方式获取所储存的数据。另举一例,假设第一方向残差变换以逐列的方式产生变换结果,第一方向残差变换可将变换结果以逐行的方式储存至转置缓冲器804中,而第二方向残差变换可对转置缓冲器804执行转置访问以以逐行的方式获取所储存的数据。然而,上述记载仅用作说明,并非用于限制本发明。

在该实施例中,部分编码电路800采用具有两个单独的电路(即,第一方向残差变换电路802和第二方向残差变换电路806)的高性能残差变换设计以支持水平变换和垂直变换的并行处理。例如,第一方向残差变换电路802和第二方向残差变换电路806可以并行处理方式处理不同PU的部分残差变换数据。

图9是依据本发明实施例的水平和垂直逆变换的并行处理的示意图。假设第一方向残差变换电路802用于执行垂直残差变换,而第二方向残差变换电路806用于执行水平残差变换。因此,在第一方向残差变换电路802对PU0的NRTU(标示为“NRTU0”)执行垂直残差变换之后,第二方向残差变换电路806对PU0的NRTU(标示为“NRTU0”)执行水平残差变换。此时,第一方向残差变换电路802对PU1的NRTU(标示为“NRTU1”)执行垂直残差变换。换言之,当第一方向残差变换电路802对PU1的NRTU(标示为“NRTU1”)执行垂直残差变换时,第二方向残差变换电路806对PU0的NRTU(标示为“NRTU0”)执行水平残差变换。类似地,在第一方向残差变换电路802对PU1的NRTU(标示为“NRTU1”)执行垂直残差变换之后,第二方向残差变换电路806对PU1的NRTU(标示为“NRTU1”)执行水平残差变换。此时,第一方向残差变换电路802对PU2的NRTU(标示为“NRTU2”)执行垂直残差变换。换言之,当第一方向残差变换电路802对PU2的NRTU(标示为“NRTU2”)执行垂直残差变换时,第二方向残差变换电路806对PU1的NRTU(标示为“NRTU1”)执行水平残差变换。类似地,PU2的NRTU(标示为“NRTU2”)和PU3的NRTU(标示为“NRTU3”)分别被执行水平/垂直残差变换。以这种方式,第一方向残差变换电路802和第二方向残差变换电路806对不同PU中的NRTU执行垂直和水平变换的并行处理。换言之,与一个PU中的NRTU相关联的残差变换数据的垂直变换的处理时间和与另一个PU中的NRTU相关联的残差变换数据的水平变换的处理时间重叠。

在一个PU中的残差变换数据要求的第二变换包含垂直残差变换和水平残差变换两者时,残差变换数据被第一方向残差变换电路(例如,垂直残差变换电路)802和第二方向残差变换电路(例如,水平残差变换电路)806处理。然而,当一个PU中的残差变换数据不被要求被垂直残差变换和水平残差变换中的一个或两个处理时,旁路路径810、812、814中的一个可被用于传送残差变换数据。如图8所示,旁路路径810耦接变换电路(例如,图5所示的变换电路504)的输出和量化电路808的输入之间,旁路路径812耦接于变换电路(例如,图5所示的变换电路504)的输出和第二方向残差变换电路806的输入之间,而旁路路径814耦接于转置缓冲器804的输出和量化电路808的输入之间。在一个PU中的残差变换数据(例如,一个PU的NNRTU)不被要求被第一方向残差变换电路802和第二方逆残差变换电路806两个处理的第一种情况下,旁路路径810被选择并被用于发送残差变换数据,以旁路第一方向残差变换电路802和第二方向残差变换电路806。在一个PU中的残差变换数据不被要求被第一方向残差变换电路802处理的第二种情况下,旁路路径812被选择并被用于发送残差变换数据,以旁路第一方向残差变换电路802。在一个PU中的残差变换数据不被要求被第二方向残差变换电路806处理的第三种情况下,旁路路径814被选择并被用于发送残差变换数据,以旁路第二方向残差变换电路806。

图10是依据本发明实施例的具有高性能逆第二变换的另一部分解码电路的示意图。视频解码器500中的部分解码电路514可使用部分解码电路601实施。图10所示的部分解码电路601可以通过省略图6的部分解码电路600中的逆扫描电路602来构造。部分解码电路601处理前面的电路的残差输出并产生部分解码结果至随后的电路,其中若部分解码电路601在视频编码器500中实施,前面的电路可为部分编码电路506(具体地讲,部分编码电路506中的量化电路),而随后的电路可以是逆变换电路518。由于本领域技术人员在阅读完上述关于部分解码电路600的段落之后,很容易理解部分解码电路601的技术细节,为简洁起见,此处不再详述。

图11是依据本发明实施例的具有低成本的逆第二变换的部分解码电路的示意图。视频解码器400中的部分解码电路404可使用部分解码电路1000实施。部分解码电路1000包含逆扫描电路(标示为“IS”)1002、逆量化电路(标示为“IQ”)1004、共享逆残差变换电路1006、转置缓冲器1008,以及旁路路径1010。共享逆残差变换电路1006和转置缓冲器1008可被视为逆第二变换电路。转置缓冲器1008储存逆第二变换的中间逆残差变换。共享逆残差变换电路1006可以利用图2所示的残差变换内核200的架构实施。在该实施例中,共享逆残差变换电路1006采用相同的处理内核(例如,图2所示的处理内核202)来执行第一方向逆残差变换操作和第二方向逆残差变换操作。例如,第一方向逆残差变换操作和第二方向逆残差变换操作可以具有相同的逆残差变换算法,但是具有不同的残差数据输入。因此,共享逆残差变换电路1006的处理内核可被用于执行第一方向逆残差变换操作,并可于随后被重新用于执行第二方向逆残差变换操作。

第一方向逆残差变换操作处理逆量化电路1004的逆量化输出以产生逆第二变换的中间逆残差变换结果至转置缓冲器1008,而第二方向逆残差变换操作访问转置缓冲器1008以获取中间逆残差变换结果,并处理中间逆残差变换结果以产生逆第二变换的最终逆残差变换结果。最终逆残差变换结果产生自共享逆残差变换电路1006,并不传送至随后的电路(例如,图4所示的逆变换电路406)用于进一步的处理。

在一个示范性的设计中,第一方向逆残差变换操作可以是逆水平残差变换,而第二方向逆残差变换操作可以是逆垂直残差变换。在另一个示范性的设计中,第一方向逆残差变换操作可以是逆垂直残差变换,而第二方向逆残差变换操作可以是逆水平残差变换。

如上所述,第一方向逆残差变换操作在第一方向上执行,而第二方向逆残差变换操作在不同于第一方向的第二方向上执行。举例来说,第一方向逆残差变换以逐列的方式产生逆变换结果。然而,第二方向逆残差变换以逐行的方式产生逆变换结果。因此,转置缓冲器1008用于正确提供第二方向逆残差变换所需的数据。例如,假设第一方向逆残差变换以逐列的方式产生逆变换结果,第一方向逆残差变换可将逆变换结果以逐列的方式储存至转置缓冲器1008中,而第二方向逆残差变换可对转置缓冲器1008执行转置访问以以逐行的方式获取所储存的数据。另举一例,假设第一方向逆残差变换以逐列的方式产生逆变换结果,第一方向逆残差变换可将逆变换结果以逐行的方式储存至转置缓冲器1008中,而第二方向逆残差变换可对转置缓冲器1008执行转置访问以以逐行的方式获取所储存的数据。然而,上述记载仅用作说明,并非用于限制本发明。

部分解码电路1000采用使用单一处理内核的低成本逆第二变换设计以支持两个方向的逆残差变换。更具体来说,低成本的逆残差变换设计使用处理内核处理第一方向逆残差变换操作,并于随后重新使用相同的处理内核处理第二方向逆残差变换操作。

在一个PU中的残差变换数据要求的逆第二变换包含逆垂直残差变换和逆水平残差变换中的一个或两者均包含时,残差变换数据被由共享逆残差变换电路1006执行的第一方向逆残差变换操作和第二方向逆残差变换操作中的一个或两者处理。然而,当一个PU中的残差变换数据(例如,一个PU的NNRTU)不被要求被逆垂直残差变换和逆水平残差变换处理时,旁路路径1010可被用于传送残差变换数据。如图11所示,旁路路径1010耦接于逆量化电路1004的输出和逆变换电路(例如,图4所示的逆变换电路406)的输入之间。当一个PU中的残差变换数据不被要求被第一方向逆残差变换和第二方向逆残差变换处理时,旁路路径1010被选择并被用于发送残差变换数据,从而旁路共享逆残差变换电路1006。

图12是依据本发明实施例的具有低成本的第二变换的部分编码电路的示意图。视频编码器500中的部分编码电路506可使用部分编码电路1100实施。部分编码电路1100包含共享残差变换电路1102、转置缓冲器1104、量化电路(标示为“Q”)1106,以及旁路路径1108。共享残差变换电路1102和转置缓冲器1104可被视为第二变换电路。转置缓冲器1104储存第二变换的中间残差变换。共享残差变换电路1102可以利用图2所示的残差变换内核200的架构实施。在该实施例中,共享残差变换电路1102采用相同的处理内核(例如,图2所示的处理内核202)来执行第一方向残差变换操作和第二方向残差变换操作。例如,第一方向残差变换操作和第二方向残差变换操作可以具有相同的残差变换算法,但是具有不同的残差数据输入。因此,共享残差变换电路1102的处理内核可被用于执行第一方向残差变换操作,并可于随后被重新用于执行第二方向残差变换操作。

第一方向残差变换操作处理前面的电路(例如图5所示的变换电路504)的变换输出以产生第二变换的中间残差变换结果至转置缓冲器1104,而第二方向残差变换操作访问转置缓冲器1104以获取中间残差变换结果,并处理中间残差变换结果以产生第二变换的最终残差变换结果。量化电路1106处理最终残差变换结果以产生量化输出至随后的电路(例如图5所示的熵编码器512和部分解码电路514)。在一个示范性的设计中,第一方向残差变换操作可以是垂直残差变换,而第二方向残差变换操作可以是水平残差变换。在另一个示范性的设计中,第一方向残差变换操作可以是水平残差变换,而第二方向残差变换操作可以是垂直残差变换。

如上所述,第一方向残差变换操作在第一方向上执行,而第二方向残差变换操作在不同于第一方向的第二方向上执行。举例来说,第一方向残差变换以逐列的方式产生变换结果。然而,第二方向残差变换以逐行的方式产生变换结果。因此,转置缓冲器1104用于正确提供第二方向残差变换所需的数据。例如,假设第一方向残差变换以逐列的方式产生变换结果,第一方向残差变换可将变换结果以逐列的方式储存至转置缓冲器1104中,而第二方向残差变换可对转置缓冲器1104执行转置访问以以逐行的方式获取所储存的数据。另举一例,假设第一方向残差变换以逐列的方式产生变换结果,第一方向残差变换可将变换结果以逐行的方式储存至转置缓冲器1104中,而第二方向残差变换可对转置缓冲器1104执行转置访问以以逐行的方式获取所储存的数据。然而,上述记载仅用作说明,并非用于限制本发明。

部分编码电路1100采用使用单一处理内核的低成本第二变换设计以支持两个方向的残差变换。更具体来说,低成本的残差变换设计使用处理内核处理第一方向残差变换操作,并于随后重新使用相同的处理内核处理第二方向残差变换操作。

在一个PU中的残差变换数据要求的第二变换包含垂直残差变换和水平残差变换中的一个或两者均包含时,残差变换数据被由共享逆残差变换电路1102执行的第一方向残差变换操作和第二方向残差变换操作中的一个或两者处理。然而,当一个PU中的残差变换数据(例如,一个PU的NNRTU)不被要求被垂直残差变换和水平残差变换处理时,旁路路径1108可被用于传送残差变换数据。如图12所示,旁路路径1108耦接于变换电路(例如,图5所示的变换电路504)的输出和量化电路1106的输入之间。当一个PU中的残差变换数据不被要求被第一方向残差变换和第二方向残差变换处理时,旁路路径1108被选择并被用于发送残差变换数据,从而旁路共享残差变换电路1102。

图13是依据本发明实施例的具有低成本的逆第二变换的部分解码电路的示意图。视频编码器500中的部分解码电路514可使用部分解码电路1001实施。图13所示的部分解码电路1001可以通过省略图11的部分解码电路1000中的逆扫描电路1002来构造。部分解码电路1001处理前面的电路的残差输出并产生部分解码结果至随后的电路,其中若部分解码电路1001在视频编码器500中实施,前面的电路可为部分编码电路506(具体地讲,部分编码电路506中的量化电路),而随后的电路可以是逆变换电路518。由于本领域技术人员在阅读完上述关于部分解码电路1000的段落之后,很容易理解部分解码电路1001的技术细节,为简洁起见,此处不再详述。

图14是依据本发明实施例的具有高性能和低成本的逆第二变换的部分解码电路的示意图。视频解码器400中的部分解码电路404可使用部分解码电路1200实施。部分解码电路1200包含逆扫描电路(标示为“IS”)1202、逆量化电路(标示为“IQ”)1204、逆量化输出缓冲器(标示为“IQ输出缓冲器”)1206、共享逆残差变换电路1208、转置/输出缓冲器1210,以及复用器(标示为“MUX”)1212。逆扫描电路1202处理前面的电路的残差输出并产生逆扫描输出,其中若部分解码电路1200在视频解码器中实施,前面的电路可以是熵解码器(例如,图4所示的熵解码器402)。在该实施例中,逆扫描电路1202顺序输出与处理单元中的残差数据的第一部分(例如,PU的NRTU)相关联的第一逆扫描结果以及与处理单元中的残差数据的第二部分(例如,PU的NNRTU)相关联的第二逆扫描结果至逆量化电路1204。由于逆量化电路1204在处理第二逆扫描结果之前处理第一逆扫描结果,逆量化电路1204在产生第二逆扫描结果的逆量化结果之前产生第一逆扫描结果的逆量化结果。由于第一逆扫描结果与PU的NRTU相关联,第一逆扫描结果逆量化结果被输出至共享逆残差变换电路1208以经历逆第二变换。由于第二逆扫描结果与PU的NNRTU相关联,第二逆扫描结果逆量化结果不需要经历逆第二变换,并被储存于逆量化输出缓冲器1206中。

共享逆残差变换电路1208和转置缓冲器1210可被视为逆第二变换电路。在本实施例中,转置/输出缓冲器1210可被分配于存储装置的存储空间,其中存储空间用作用于储存逆第二变换的中间逆残差变换结果的转置缓冲器,也用作用于储存逆第二变换的最终逆残差变换结果的逆残差变换输出缓冲器。即,转置缓冲器也可被用作逆残差变换输出缓冲器。共享逆残差变换电路1208可使用图2所示的残差变换内核200的架构实施。在该实施例中,共享逆残差变换电路1208采用相同的处理内核(例如,图2所示的处理内核202)来执行第一方向逆残差变换操作和第二方向逆残差变换操作,其中第一方向逆残差变换操作处理第一逆扫描结果(与PU的NRTU相关联)的逆量化结果以产生中间逆残差变换结果至转置/输出缓冲器1210,而第二方向逆残差变换操作访问转置/输出缓冲器1210以获取中间逆残差变换结果,并处理中间逆残差变换结果以产生第二变换的最终逆残差变换结果。在一个示范性的设计中,第一方向逆残差变换操作可以是逆水平变换,而第二方向逆残差变换操作可以是逆垂直残差变换。在另一个示范性的设计中,第一方向逆残差变换操作可以是逆垂直变换,而第二方向逆残差变换操作可以是逆水平变换。由于共享逆残差变换电路1208的功能与共享逆残差变换电路1006的功能相同,为简洁起见,不做进一步描述。

复用器1212选择性地连接逆量化输出缓冲器1206或转置/输出缓冲器1210以设置复用器输出,发送至随后的电路(例如,图4所示的逆变换电路406)。因此,逆第二变换的最终逆残差变换结果(与PU的NRTU相关联)更被逆变换电路(例如图4所示的逆变换电路406)处理,第二逆扫描结果的逆量化结果(与PU的NNRTU相关联)更被逆变换电路(例如图4所示的逆变换电路406)处理。

在该实施例中,部分解码电路1200采用高性能和低成本的逆残差变换设计。关于高性能的逆残差变换设计,其具有两个独立的电路(即,逆量化电路1204和共享逆残差变换电路1208)用于支持NNRTU逆量化和NRTU逆第二变换的并行处理。图15是依据本发明实施例的NNRTU逆量化和NRTU逆第二变换的并行处理的示意图。在逆量化电路1204产生并输出PU0中的NRTU的逆量化结果之后,共享逆残差变换电路1208对PU 0中的NRTU的逆量化结果执行逆第二变换。此时,逆量化电路1204对PU O中的NNRTU执行逆量化。类似地,在逆量化电路1204产生并输出PU 1中的NRTU的逆量化结果之后,共享逆残差变换电路1208对PU 1中的NRTU的逆量化结果执行逆第二变换。此时,逆量化电路1204对PU1中的NNRTU执行逆量化。PU2中的NRTU和NNRTU也被进行类似的处理。以这种方式,逆量化电路1204和共享逆残差变换电路1208对同一PU中的不同部分执行NNRTU逆量化和NRTU逆第二变换的并行处理。换言之,与PU中的NNRTU相关联的逆量化的处理时间和同一PU中的NRTU逆第二变换的处理时间重叠。

关于低成本残差变换设计,其使用单一处理内核支持两个方向的逆残差变换。更具体来说,低成本的逆残差变换设计使用处理内核处理第一方向逆残差变换操作,并于随后重新使用相同的处理内核处理第二方向逆残差变换操作。

图16是依据本发明实施例的具有高性能和低成本的第二变换的部分编码电路的示意图。视频编码器500中的部分编码电路506可使用部分编码电路1400实施。部分编码电路1400包含量化电路(标示为“Q”)1402、量化输出缓冲器(标示为“Q输出缓冲器”)1404、共享残差变换电路1406,以及转置缓冲器1408。与处理单元中的残差变换数据的第一部分(例如,PU中的NNRTU)相关联的第一变换输出产生自前面的电路(例如,图5所示的变换电路504),并被发送至量化电路1402,而与处理单元中的残差变换数据的第二部分(例如,PU中的NRTU)相关联的第二变换输出产生自前面的电路(例如,图5所示的变换电路504),并被发送至共享残差变换电路1406。在该实施例中,量化电路1402和共享残差变换电路1406以并行的方式分别处理第一变换输出(与PU的NNRTU相关联)和第二变换输出(与PU的NRTU相关联)。

共享残差变换电路1406和转置缓冲器1408可被视为第二变换电路。转置缓冲器1408储存第二变换的中间残差变换结果。共享残差变换电路1406可使用图2所示的残差变换内核200的架构实施。在该实施例中,共享残差变换电路1406采用相同的处理内核(例如,图2所示的处理内核202)来执行第一方向残差变换操作和第二方向残差变换操作,其中第一方向残差变换操作处理第二变换输出(与PU的NRTU相关联)以产生中间残差变换结果至转置缓冲器1408,而第二方向残差变换操作访问转置缓冲器1408以获取中间逆残差变换结果,并处理中间残差变换结果以产生第二变换的最终残差变换结果至量化电路1402。在一个示范性的设计中,第一方向残差变换操作可以是垂直变换,而第二方向残差变换操作可以是水平残差变换。在另一个示范性的设计中,第一方向残差变换操作可以是水平变换,而第二方向残差变换操作可以是垂直变换。由于共享残差变换电路1406的功能与共享残差变换电路1102的功能相同,为简洁起见,不做进一步描述。

量化电路1402顺序处理第一变换输出(与PU的NNRTU相关联)和第二变换的最终残差变换结果以产生量化输出至量化输出缓冲器1404,其中量化输出更被随后的电路(例如,图5所示的熵编码器512和部分解码电路514)处理。

在该实施例中,部分编码电路1400采用高性能和低成本的残差变换设计。关于高性能的残差变换设计,其具有两个独立的电路(即,量化电路1402和共享残差变换电路1406)用于支持NNRTU量化和NRTU第二变换的并行处理。图17是依据本发明实施例的NNRTU量化和NRTU第二变换的并行处理的示意图。当量化电路1402对与PU 0中的NNRTU相关联的第一变换结果执行量化时,共享残差变换电路1406对与PU 0中的NRTU相关联的第一变换结果执行第二变换。在对PU 0中的NRTU执行的第二变换的最终残差变换结果自共享残差变换电路1406产生之后,量化电路1402对第二变换的最终残差变换结果执行量化。类似地,当量化电路1402对与PU 1中的NNRTU相关联的第一变换结果执行量化时,共享残差变换电路1406对与PU 1中的NRTU相关联的第一变换结果执行第二变换。在对PU 1中的NRTU执行的第二变换的最终残差变换结果自共享残差变换电路1406产生之后,量化电路1402对第二变换的最终残差变换结果执行量化。以这种方式,量化电路1402和共享残差变换电路1406对同一PU中的不同部分执行NNRTU量化和NRTU第二变换的并行处理。换言之,与PU中的NNRTU相关联的量化的处理时间和同一PU中的NRTU第二变换的处理时间重叠。

关于低成本残差变换设计,其使用单一处理内核支持两个方向的残差变换。更具体来说,低成本的残差变换设计使用处理内核处理第一方向残差变换操作,并随后重新使用相同的处理内核处理第二方向残差变换操作。

图18是依据本发明实施例的具有高性能和低成本的第二变换的另一部分解码电路的示意图。视频编码器500中的部分解码电路514可使用部分解码电路1201实施。图18所示的部分解码电路1201可以通过省略图14所示的部分解码电路1200中的逆扫描电路1202来构造。部分解码电路1201处理前面的电路的残差输出并产生部分解码结果至随后的电路,其中若部分解码电路1201在视频编码器500中实施,前面的电路可为部分编码电路506(具体地讲,部分编码电路506中的量化电路),而随后的电路可以是逆变换电路518。由于本领域技术人员在阅读完上述关于部分解码电路1200的段落之后,很容易理解部分解码电路1201的技术细节,为简洁起见,此处不再详述。

在所述示例性的部分解码电路600、1000、1200中,逆第二变换电路位于逆扫描电路和逆量化电路之后,然而,其仅用作说明的目的,并非为本发明的限制。在本发明的部分实施例中,逆扫描电路和逆量化电路中的至少一个可位于逆第二变换电路之前,且另一个逆扫描电路和另一个逆量化电路中的至少一个可位于逆第二变换电路之后。例如,在逆扫描/逆量化被应用于PU中的NNRTU上之前,逆扫描/逆量化被用于PU的NRTU。上述部分解码电路600、1000、1200的替代设计描述如下。

图19是依据本发明实施例的具有另一高性能逆第二变换的部分解码电路的示意图。视频解码器400中的部分解码电路404可使用部分解码电路1600实施。部分解码电路1600采用与部分解码电路600相同的高性能逆第二变换设计。部分解码电路1600包含逆扫描电路(标示为“IS NRTU”)1602、逆量化电路(标示为“IQ NRTU”)1604、第一方向逆残差变换电路1606、转置缓冲器1608、第二方向逆残差变换电路1610、另一逆扫描电路(标示为“IS”)1612、另一逆量化电路(标示为“IQ”)1614,以及多个旁路路径1616、1618、1620、1622。第一方向逆残差变换电路1606、转置缓冲器1608和第二方向逆残差变换电路1610可被视为逆第二变换电路。在一个示范性的设计中,第一方向逆残差变换电路1606可以是逆水平残差变换电路,而第二方向逆残差变换电路1610可以是逆垂直残差变换电路。在另一个示范性的设计中,第一方向逆残差变换电路1606可以是逆垂直残差变换电路,而第二方向逆残差变换电路1610可以是逆水平残差变换电路。

在该实施例中,部分解码电路1600采用具有两个单独的电路(即,第一方向逆残差变换电路1606和第二方向逆残差变换电路1 610)的高性能逆残差变换设计以支持逆水平变换和逆垂直变换的并行处理。例如,第一方向逆残差变换电路1606和第二方向逆残差变换电路1610可以并行处理方式处理不同PU的部分残差变换数据。由于第一方向逆残差变换电路1606、转置缓冲器1608和第二方向逆残差变换电路1610的功能和操作与第一方向逆残差变换电路606、转置缓冲器608和第二方向逆残差变换电路610相同,为简洁起见,不再赘述。

部分解码电路1600处理前面的电路的残差输出,其中若部分解码电路1600实施于视频解码器中,前面的电路可以是熵解码器(例如,图4所示的熵解码器402)。前面的电路(例如,图4所示的熵解码器402)的残差输出包含与处理单元中的残差变换数据的第一部分(例如PU的NRTU)相关联的第一残差输出以及与处理单元中的残差变换数据的第二部分(例如PU的NNRTU)相关联的第二残差输出。由于第一残差输出需要经历逆第二变换,第一残差输出被馈入至逆扫描电路1602。由于第二残差输出不需要经历逆第二变换,第二残差输出通过旁路路径1616被馈入至逆扫描电路1612。逆扫描电路1602处理第一残差输出以产生并输出第一残差输出的第一逆扫描结果(与PU的NRTU相关联),且逆量化电路1604处理第一逆扫描结果以产生逆量化输出馈入至第一方向逆残差变换电路1606。

在该实施例中,逆扫描电路1612的逆扫描缓冲器(图中未示)也可用作逆第二变换电路的输出缓冲器。因此,第一残差输出的逆第二变换的最终逆残差变换结果(与PU的NRTU相关联)储存于逆扫描缓冲器中。请注意,最终逆残差变换结果不要求被逆扫描电路1612和逆量化电路1614处理。因此,储存于逆扫描缓冲器中的最终逆残差变换结果通过旁路路径1622被输出至逆变换电路(例如,图4所示的逆变换电路406)。

关于与PU的NNRTU相关联的第二残差输出,其被逆扫描电路1612和逆量化电路1614处理,其中逆量化电路1612的逆量化结果被输出至逆变换电路(例如,图4中的逆变换电路406)。

在该实施例中,逆扫描电路1602处理第一残差输出(与PU的NRTU相关联),且并不产生第二残差输出(与PU的NNRTU相关联)的第二逆扫描结果。因此,逆量化电路1604并不处理第二残差输出(与PU的NNRTU相关联)的第二逆扫描结果。

当一个PU中的NRTU的残差变换数据不需要被逆水平残差变换和逆垂直残差变换中的一个或二者处理时,旁路路径1618和1620中的一个可被用于发送残差变换数据。如图19所示,旁路路径1618耦接于逆量化电路1604的输出和第二方向逆残差变换电路1610的输入之间,而旁路路径1620耦接于转置缓冲器1608的输出和逆变换电路1612的输入之间。在一个PU中的NRTU不被要求被第一方向逆残差变换电路1606处理的第一种情况下,旁路路径1618被选择并被用于发送残差变换数据,以旁路第一方向逆残差变换电路1606。在一个PU中的NRTU不被要求被第二方向逆残差变换电路1610处理的第二种情况下,旁路路径1620被选择并被用于发送残差变换数据,以旁路第二方向逆残差变换电路1610。

图20是依据本发明实施例的具有另一低成本逆第二变换的部分解码电路的示意图。视频解码器400中的部分解码电路404可使用部分解码电路1700实施。部分解码电路1700采用与部分解码电路1000相同的低成本逆第二变换设计。部分解码电路1700包含逆扫描电路(标示为“IS NRTU”)1702、逆量化电路(标示为“IQ NRTU”)1704、共享逆残差变换电路1706、转置缓冲器1708、另一逆扫描电路(标示为“IS”)1710、另一逆量化电路(标示为“IQ”)1712,以及多个旁路路径1714、1716。共享逆残差变换电路1706和转置缓冲器1708可被视为逆第二变换电路。共享逆残差变换电路1706采用同一个的处理内核执行第一方向逆残差变换操作和第二方向逆残差变换操作。在一个示范性的设计中,第一方向逆残差变换操作可以是逆水平变换,而第二方向逆残差变换操作可以是逆垂直变换。在另一个示范性的设计中,第一方向逆残差变换操作可以是逆垂直变换,而第二方向逆残差变换操作可以是逆水平变换。

在该实施例中,部分解码电路1700采用使用单一处理内核的低成本逆残差变换设计以支持两个方向的逆残差变换。更具体来说,低成本的逆残差变换设计使用处理内核处理第一方向逆残差变换操作,并于随后重新使用相同的处理内核处理第二方向逆残差变换操作。由于共享逆残差变换电路1706和转置缓冲器1708的功能和操作与共享逆残差变换电路1006和转置缓冲器1008的功能和操作相同,为简洁起见,不再赘述。

部分解码电路1700处理前面的电路的残差输出,其中若部分解码电路1700实施于视频解码器中,前面的电路可以是熵解码器(例如,图4中的熵解码器402)。前面的电路(例如,图4中的熵解码器402)的残差输出包含与处理单元中的残差变换数据的第一部分(例如PU的NRTU)相关联的第一残差输出以及与处理单元中的残差变换数据的第二部分(例如PU的NNRTU)相关联的第二残差输出。由于第一残差输出需要经历逆第二变换,第一残差输出被馈入至逆扫描电路1702。由于第二残差输出不需要经历逆第二变换,第二残差输出通过旁路路径1714被馈入至逆扫描电路1710。逆扫描电路1702处理第一残差输出以产生并输出第一残差输出的第一逆扫描结果(与PU的NRTU相关联),而逆量化电路1704处理第一逆扫描结果以产生逆量化输出馈入至共享逆残差变换电路1706。

在该实施例中,逆扫描电路1710的逆扫描缓冲器(图中未示)也可用作逆第二变换电路的输出缓冲器。因此,第一残差输出(与PU的NRTU相关联)的逆第二变换的最终逆残差变换结果储存于逆扫描缓冲器中。请注意,最终逆残差变换结果不要求被逆扫描电路1710和逆量化电路1712处理。因此,储存于逆扫描缓冲器中的最终逆残差变换结果通过旁路路径1716被输出至随后的电路(例如,图4所示的逆变换电路406)。

关于与PU的NNRTU相关联的第二残差输出,其被逆扫描电路1710和逆量化电路1712处理,其中逆量化电路1712的逆量化结果被发送至逆变换电路(例如,图4中的逆变换电路406)。

请注意,逆扫描电路1702被设计来处理第一残差输出(与PU的NRTU相关联),并且因此并不产生第二残差输出(与PU的NNRTU相关联)的第二逆扫描结果。因此,逆量化电路1704并不处理第二残差输出(与PU的NNRTU相关联)的第二逆扫描结果。

图21是依据本发明实施例的具有另一高性能和低成本的逆第二变换的部分解码电路的示意图。视频解码器400中的部分解码电路404可使用部分解码电路1800实施。部分解码电路1800采用如部分解码电路1200一样的高性能和低成本的逆第二变换设计。部分解码电路1800包含逆扫描电路(标示为“IS NRTU”)1802、逆量化电路(标示为“IQ”)1804、逆量化输出缓冲器(标示为“IQ输出缓冲器”)1206、共享逆残差变换电路1808、转置/输出缓冲器1810、复用器(标示为“MUX”)1812,以及另一逆扫描电路(标示为“IS”)1814。共享逆残差变换电路1808和转置/输出缓冲器1810可被视为逆第二变换电路。共享逆残差变换电路1808采用相同的处理内核来执行第一方向逆残差变换操作和第二方向逆残差变换操作。在一个示范性的设计中,第一方向逆残差变换操作可以是逆水平变换,而第二方向逆残差变换操作可以是逆垂直残差变换。在另一个示范性的设计中,第一方向逆残差变换操作可以是逆垂直变换,而第二方向逆残差变换操作可以是逆水平变换。

部分解码电路1800处理前面的电路的残差输出,其中若部分解码电路1800实施于视频解码器中,前面的电路可以是熵解码器(例如,图4中的熵解码器402)。前面的电路(例如,图4中的熵解码器402)的残差输出包含与处理单元中的残差变换数据的第一部分(例如PU的NRTU)相关联的第一残差输出以及与处理单元中的残差变换数据的第二部分(例如PU的NNRTU)相关联的第二残差输出。在该实施例中,前面的电路(例如,图4中的熵解码器402)顺序输出第一残差输出(与PU的NRTU相关联)至逆扫描电路1802,以及第二残差输出(与PU的NNRTU相关联)至逆量化电路1804。例如,逆扫描电路1802可处理第一残差输出(与PU的NRTU相关联),而在逆量化电路1804处理第二残差输出(与PU的NNRTU相关联)之前,逆扫描电路1802可处理该第一残差输出(与PU的NRTU相关联)的逆扫描。

共享逆残差变换电路1808对于PU的NRTU相关联的逆量化结果执行逆第二变换(包含第一方向逆残差变换操作和第二方向逆残差变换操作),以产生逆第二变换的最终逆残差变换结果,其中逆第二变换的中间逆残差变换结果由第一方向逆残差变换操作产生,并被储存于转置/输出缓冲器1810中,而最终逆残差变换结果由第二方向逆残差变换操作根据读取自转置/输出缓冲器1810的中间逆残差变换结果产生。由于共享逆残差变换电路1808和转置/输出缓冲器1810的功能和操作与共享逆残差变换电路1208和转置/输出缓冲器1210的功能和操作相同,为简洁起见,不再赘述。

逆量化电路1804更处理第二残差输出以产生与PU的NNRTU相关联的逆量化结果,其中与PU的NNRTU相关联的逆量化结果储存于逆量化输出缓冲器1806中。即逆量化电路1804执行与另一个逆量化输出相关联的计算。

复用器1812选择性地连接逆量化输出缓冲器1806或转置/输出缓冲器1810以设置复用器输出,发送至逆扫描电路1814。逆扫描电路1814不需要对与PU的NRTU相关联的逆第二变换的最终逆残差变换结果执行逆扫描。因此,逆扫描电路1814的逆扫描缓冲器(图中未示)仅储存逆第二变换的最终逆残差变换结果,并随后将逆第二变换的最终逆残差变换结果输出至随后的电路(例如,图4所示的逆变换电路406)。至于与PU的NNRTU相关联的逆量化结果,其读取自逆量化输出缓冲器1806,并随后被逆扫描电路1814处理,以产生与PU的NNRTU相关联的逆扫描结果至随后的电路(例如,图4所示的逆变换电路406)。

请注意,在该实施例中,自前面的电路(例如,图4所示的熵解码器402)产生的第二残差输出首先被逆量化电路1804处理,随后被逆扫描电路1814处理,不同于部分解码电路1200所使用的解码顺序。然而,随着图21所示的逆量化电路1804和逆扫描电路1814的适当的配置,自逆扫描电路1814产生的PU的NNRTU的逆扫描结果将与自逆量化电路1204产生的同一PU的NNRTU的逆量化结果相同。

在该实施例中,部分解码电路1800采用高性能和低成本的逆残差变换设计。关于高性能的逆残差变换设计,其具有两个独立的电路(即,逆量化电路1804和共享逆残差变换电路1808)用于支持NNRTU逆量化和NRTU逆第二变换的并行处理。图22是依据本发明实施例的NNRTU逆量化和NRTU逆第二变换的并行处理的示意图。在逆扫描电路1802产生并输出PU0中的NRTU的逆扫描结果之后,逆量化电路1804处理PU O中的NRTU的逆扫描结果(图中标示为(IS/IQ NRTU PU0))。在逆量化电路1804产生并输出PU 0中的NRTU的逆量化结果之后,共享逆残差变换电路1808对PU 0中的NRTU的逆量化结果执行逆第二变换。此时,逆量化电路1804对PU O中的NNRTU执行逆量化(图中标示为(IQ NNRTU PU0))。类似地,在逆扫描电路1802产生并输出PU 1中的NRTU的逆扫描结果之后,逆量化电路1804处理PU 1中的NRTU的逆扫描结果(图中标示为(IS/IQ NRTU PU1))。在逆量化电路1804产生并输出PU 1中的NRTU的逆量化结果之后,共享逆残差变换电路1808对PU 1中的NRTU的逆量化结果执行逆第二变换。此时,逆量化电路1804对PU 1中的NNRTU执行逆量化(图中标示为(IQ NNRTU PU1))。类似地,PU 2中的NRTU和NNRTU被处理。以这种方式,逆量化电路1804和共享逆残差变换电路1808对同一PU中的不同部分执行NNRTU逆量化和NRTU逆第二变换的并行处理。换言之,与PU中的NNRTU相关联的逆量化的处理时间和同一PU中的NRTU逆第二变换的处理时间重叠。

关于低成本残差变换设计,其使用单一处理内核支持两个方向的逆残差变换。更具体来说,低成本的逆残差变换设计使用处理内核处理第一方向逆残差变换操作,并于随后重新使用相同的处理内核处理第二方向逆残差变换操作。

以上所述仅为本发明的较佳实施例,本领域相关的技术人员依据本发明的精神所做的等效变化与修改,都应当涵盖在权利要求内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号