首页> 中国专利> 用于视频译码中的固定点变换的可变局部位深增加

用于视频译码中的固定点变换的可变局部位深增加

摘要

本发明描述用于通过在与视频译码相关联的固定点变换处应用可变局部位深增加来缓解所述变换中的舍入错误的技术。更特定来说,所述技术包含基于视频译码装置中的固定点变换的大小选择恒定值,以及以等于所述恒定值的值在所述变换处应用可变局部位深增加。应用所述可变局部位深增加包含在所述固定点变换之前将变换输入信号左移等于所述恒定值的位数目,以及在所述固定点变换之后将变换输出信号右移等于所述恒定值的位数目。所述恒定值选自存储在所述视频译码装置上的多个恒定值。所述恒定值的每一者是针对所述视频译码所支持的多个不同变换大小的一者而预先计算的。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2020-06-23

    未缴年费专利权终止 IPC(主分类):H04N19/176 授权公告日:20160504 终止日期:20190708 申请日:20110708

    专利权的终止

  • 2016-05-04

    授权

    授权

  • 2013-04-24

    实质审查的生效 IPC(主分类):H04N7/26 申请日:20110708

    实质审查的生效

  • 2013-03-27

    公开

    公开

说明书

技术领域

本发明涉及视频译码,且更特定来说涉及视频译码中的固定点变换。

背景技术

数字视频能力可并入到广泛装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电传会议装置等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-TH.263、ITU-T H.264/MPEG-4第10部分先进视频译码(AVC)或所提出的ITU-T H.265、高效视频译码(HEVC)所定义的标准和此类标准的扩展版中描述的技术,以更有效地发射和接收数字视频信息。

视频压缩技术可执行空间预测和/或时间预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频帧或片段分割成宏块。每一宏块可经进一步分割。帧内译码(I)帧或片段中的宏块使用相对于相邻宏块的空间预测来编码。帧间译码(P或B或一般化P/B)帧或片段中的宏块可使用相对于同一帧或片段中的相邻宏块的空间预测或相对于其它参考帧的时间预测。

视频压缩技术还可以用于译码的有效方式执行线性变换以表示残余视频块数据,所述残余视频块数据是待译码的当前帧的视频块与参考帧的预测性视频块之间的差异。在一些情况下,视频译码装置可使用利用级联蝶形结构执行的线性变换的快速实施方案。用于表示变换的级联蝶形结构的数目取决于变换的大小。为减小视频译码装置内的计算复杂性,可将线性变换实施为固定点变换而非浮点变换。然而,固定点实施方案可引起用于表示变换的蝶形结构的级联层级的每一者处的舍入错误。因此,在固定点变换的情况下,累积舍入错误随变换的大小而增加。

发明内容

本发明描述用于通过在与视频译码相关联的固定点变换处应用可变局部位深增加来缓解所述变换中的舍入错误的技术。更特定来说,所述技术包含基于视频译码装置中的固定点变换的大小选择恒定值,以及以等于所述恒定值的值在所述变换处应用可变局部位深增加。用于应用所述可变局部位深增加的技术包含在所述固定点变换之前将变换输入信号左移等于所述恒定值的位数目,以及在所述固定点变换之后将变换输出信号右移等于所述恒定值的位数目。

根据所述技术,针对固定点变换的大小的恒定值选自存储在所述视频译码装置上的针对多个不同变换大小的多个恒定值。所述恒定值的每一者针对所述视频译码所支持的多个不同变换大小的一者而预先计算。固定点变换可归因于取决于变换的大小的位深的损失而引起变换输出信号中的舍入错误。在固定点变换处应用可变局部位深增加提供用于变换的较高位深变换输入信号。此外,以基于固定点变换的大小计算的值应用可变局部位深增加可减少或消除归因于变换的固定点实施方案的舍入错误。

在一个实例中,本发明针对一种对视频信号进行译码的方法,所述方法包括:存储多个恒定值,其中所述恒定值的每一者与同视频译码相关联的多个不同变换大小的一者相关联;以及基于视频译码装置中的固定点变换的大小选择恒定值的一者。所述方法进一步包含通过以下操作在视频译码装置中以等于所述恒定值的值在固定点变换处应用可变局部位深增加:在所述固定点变换之前将变换输入信号左移等于所述恒定值的位数目,以及在所述固定点变换之后将变换输出信号右移等于所述恒定值的位数目。

在另一实例中,本发明针对一种用于对视频信号进行译码的视频译码装置,所述视频译码装置包括:存储器,其存储多个恒定值,其中所述恒定值的每一者与同视频译码相关联的多个不同变换大小的一者相关联;以及处理器,其基于视频译码装置中的固定点变换的大小选择恒定值的一者,且通过以下操作以等于所述恒定值的值在固定点变换处应用可变局部位深增加:在所述固定点变换之前将变换输入信号左移等于所述恒定值的位数目,以及在所述固定点变换之后将变换输出信号右移等于所述恒定值的位数目。

在又一实例中,本发明针对一种用于对视频信号进行译码的视频译码装置,所述视频译码装置包括:用于存储多个恒定值的装置,其中所述恒定值的每一者与同视频译码相关联的多个不同变换大小的一者相关联;以及用于基于视频译码装置中的固定点变换的大小选择恒定值的一者的装置。所述视频译码装置进一步包含用于通过以下操作以等于所述恒定值的值在固定点变换处应用可变局部位深增加的装置:在所述固定点变换之前将变换输入信号左移等于所述恒定值的位数目,以及在所述固定点变换之后将变换输出信号右移等于所述恒定值的位数目。

在另一实例中,本发明针对一种包括用于对视频信号进行译码的指令的计算机可读存储媒体,所述指令在处理器中执行后致使处理器:存储多个恒定值,其中所述恒定值的每一者与同视频译码相关联的多个不同变换大小的一者相关联;基于视频译码装置中的固定点变换的大小选择恒定值的一者;以及通过以下操作在视频译码装置中以等于所述恒定值的值在固定点变换处应用可变局部位深增加:在所述固定点变换之前将变换输入信号左移等于所述恒定值的位数目,以及在所述固定点变换之后将变换输出信号右移等于所述恒定值的位数目。

附图说明

图1是说明实例视频编码和解码系统的框图,所述系统可利用用于在与系统内的源装置的视频编码器和目的地装置的视频解码器相关联的固定点变换处应用可变局部位深增加的技术。

图2是说明用于与视频译码相关联的变换的蝶形结构的概念图。

图3是说明用于与视频译码相关联的变换的级联蝶形结构的概念图。

图4是说明实例视频编码器的框图,所述实例视频编码器可实施用于在变换单元处应用可变局部位深增加来缓解变换单元的固定点实施方案中的舍入错误的技术。

图5是说明实例视频解码器的框图,所述实例视频解码器可实施用于在反向变换单元处应用可变局部位深增加来缓解反向变换单元的固定点实施方案中的舍入错误的技术。

图6是说明实例视频编码器的框图,其中使用还可实施用于在变换单元处应用可变局部位深增加的技术的内部位深增加(IBDI)。

图7是说明实例视频解码器的框图,其中使用还可实施用于在反向变换单元处应用可变局部位深增加的技术的内部位深增加(IBDI)。

图8是说明在变换单元处应用可变局部位深增加来缓解变换单元的固定点实施方案中的舍入错误的示范性方法的流程图。

图9是说明在反向变换单元处应用可变局部位深增加来缓解反向变换单元的固定点实施方案中的舍入错误的示范性方法的流程图。

具体实施方式

本发明描述用于通过在与视频译码相关联的变换处应用可变局部位深增加来缓解所述变换的固定点实施方案引起的舍入错误的技术。更特定来说,所述技术包含基于视频译码装置中的固定点变换的大小选择恒定值,以及以等于所述恒定值的值在所述变换处应用可变局部位深增加。所述用于应用所述可变局部位深增加的技术包含在所述固定点变换之前将变换输入信号左移等于所述恒定值的位数目,以及在所述固定点变换之后将变换输出信号右移等于所述恒定值的位数目。针对固定点变换的大小的恒定值选自存储在视频译码装置上的针对多个不同变换大小的多个恒定值。所述恒定值的每一者针对所述视频译码所支持的多个不同变换大小的一者而预先计算。

图1是说明实例视频编码和解码系统10的框图,所述系统10可利用用于在与系统10内的源装置12的视频编码器20和目的地装置14的视频解码器30相关联的固定点变换处应用可变局部位深增加的技术。可变局部位深增加的值针对多个不同变换大小而预先计算且存储在视频编码器20和视频解码器30上。适当的可变局部位深增加可接着由视频编码器20和视频解码器30基于相应固定点变换的大小而选择。以此方式,可变局部位深增加可缓解系统10内的特定变换的固定点实施方案引起的舍入错误。

如图1所示,系统10包含经由通信信道16将经编码视频发射到目的地装置14的源装置12。源装置12和目的地装置14可包括广泛的装置中的任一种,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电传会议装置等。在一些情况下,源装置12和目的地装置14可包括可在通信信道16上传送视频信息的无线通信装置,在此情况下通信信道16为无线的。

然而,本发明的关于在与视频译码相关联的固定点变换处应用可变局部位深增加的技术不一定限于无线应用或设定。举例来说,这些技术可适用于空中电视广播、有线电视发射、卫星电视发射、因特网视频发射、经编码到存储媒体上的经编码的数字视频,或其它情况。因此,通信信道16可包含适合于发射经编码的视频数据的无线媒体或有线媒体的任何组合。

在图1的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器(调制解调器)22和发射器24。目的地装置14包含接收器26、调制解调器28、视频解码器30和显示装置32。根据本发明,源装置12的视频编码器20可经配置以执行用于通过以下操作在与视频编码器20相关联的固定点变换处应用可变局部位深增加的技术:基于固定点变换的大小从存储在视频编码器20上的多个恒定值中选择一恒定值;以及以等于所述恒定值的值在变换处应用可变局部位深增加。此外,目的地装置14的视频解码器30可类似地经配置以执行用于在与视频解码器30相关联的固定点反向变换处应用可变局部位深增加的技术。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从例如外部相机等外部视频源18接收视频数据。同样,目的地装置14可与外部显示装置介接,而不是包含集成显示装置。

图1的所说明的系统10仅为一个实例。用于在与视频译码相关联的固定点变换处应用可变局部位深增加的技术可由任何数字视频编码和/或解码装置执行。本发明的技术还可由视频编码器/解码器(通常称为“编解码器”)执行。此外,本发明的技术还可由视频预处理器执行。源装置12及目的地装置14仅为这些译码装置的实例,其中源装置12产生用于发射到目的地装置14的经译码视频数据。在一些实例中,装置12、14可以大体上对称的方式操作以使得装置12、14中的每一者包括视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射,例如用于视频串流、视频重放、视频广播或视频电话。

源装置12的视频源18可包含视频俘获装置,例如摄像机、含有先前俘获的视频的视频档案,和/或来自视频内容提供者的视频馈送。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或直播视频(live video)、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18为摄像机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文提及,本文描述的技术一般来说可适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,可由视频编码器20来编码经俘获的、经预先俘获的或计算机产生的视频。经编码的视频信息可接着由调制解调器22根据通信标准调制且经由发射器24发射到目的地装置14。调制解调器22可包括各种混频器、滤波器、放大器或经设计以用于信号调制的其它组件。发射器24可包括经设计以用于发射数据的电路,包括放大器、滤波器及一个或一个以上天线。

目的地装置14的接收器26在信道16上接收信息,且调制解调器28对信息进行解调。在信道16上传送的信息可包含视频编码器20定义的语法信息,其也由视频解码器30使用,视频解码器30包含描述宏块和其它译码单位(例如,GOP)的特性和/或处理的语法元素。显示装置32向用户显示经解码的视频数据,且可包含例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置的多种显示装置中的任一者。

在图1的实例中,通信信道16可包含任何无线或有线通信媒体,例如,射频(RF)频谱或一个或一个以上物理传输线、或无线和有线媒体的任何组合。通信信道16可形成例如局域网、广域网或例如因特网的全球网络的基于包的网络的部分。通信信道16一般表示用于将视频数据从源装置12发射到目的地装置14的任何合适的通信媒体或不同通信媒体的集合,包括有线或无线媒体的任何合适组合。通信信道16可包括可用于促进从源装置12到目的地装置14的通信的路由器、交换器、基站或任何其它设备。

视频编码器20和视频解码器30可根据视频压缩标准操作,所述视频压缩标准例如是ITU-T H.264标准(或者称为MPEG-4第10部分先进视频译码(AVC)),或新兴的下一代视频译码标准(称为高效视频译码(HEVC))。然而,本发明的技术不限于任何特定译码标准。其它实例包括MPEG-2和ITU-T H.263。尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包括适当的MUX-DEMUX单元或其它硬件及软件,以处理对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,MUX-DEMUX单元可符合ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。

视频序列通常包含一系列视频帧。图片群组(GOP)一般包括一系列一个或一个以上视频帧。GOP可在GOP的标头、GOP的一个或一个以上帧的标头中或其它地方包含语法数据,其描述包含在GOP中的帧的数目。每一帧可包含描述相应帧的编码模式的帧语法数据。视频编码器20通常对个别视频帧内的视频块操作以便编码视频数据。一视频块可对应于一宏块或一宏块的一分区。举例来说,小于宏块大小的块大小可称为宏块的分区。所述视频块可具有固定的或变化的大小,且可根据指定的译码标准而大小不同。每一视频帧可包括多个片段。每一片段可包括多个宏块,所述多个宏块可布置成若干分区,所述分区还被称作子块。

作为一实例,ITU-T H.264标准支持各种块大小(例如,针对亮度分量的16乘16、8乘8或4乘4,和针对色度分量的8×8)的帧内预测,以及各种块大小(例如,针对亮度分量的16×16、16×8、8×16、8×8、8×4、4×8和4×4,和针对色度分量的对应缩放的大小)的帧间预测。HEVC标准可支持达32×32、64×64或128×128的块大小的帧内和帧间预测。HEVC标准提供基于译码单位(CU)、预测单位(PU)和变换单位(TU)的更有效且灵活的视频译码。CU是类似于H.264标准中使用的宏块的基本压缩单位。在HEVC中,支持达32×32、64×64乃至128×128的CU大小以便有效压缩高清晰度视频内容。PU是帧间/帧内预测单位,且单一CU中可存在多个PU。TU是变换单位,且可包含一个或一个以上PU。除了常规4×4和8×8变换外,对于TU,还可支持16×16、32×32、64×64和128×128整数变换。另外,对于TU,还可支持矩形变换,包含4×8、8×4、8×16、16×8、16×32、32×16、32×64、64×32、64×128和128×64。

在本发明中,“N×N”和“N乘N”可互换使用以表示依据垂直和水平尺寸的块的像素尺寸,例如16×16像素或16乘16像素。一般来说,16×16块将具有垂直方向上的16个像素(y=16)和水平方向上的16个像素(x=16)。同样,N×N块一般具有垂直方向上的N个像素和水平方向上的N个像素,其中N表示非负整数值。一块中的像素可布置成若干行和若干列。此外,块不一定具有在水平方向上与垂直方向上相同数目的像素。举例来说,块可包括N×M个像素,其中M不一定等于N。

视频块可包括像素域中的像素数据块,或在将变换应用于表示译码视频块与预测性视频块之间的像素差异的残余视频块数据之后变换域中的变换系数块。在一些情况下,视频块可包括在将量化器应用于从变换输出的变换系数之后变换域中的经量化变换系数块。

较小视频块可提供较佳分辨率,且可用于包括较高细节水平的视频帧的定位。一般来说,宏块和各个分区(有时称为子块)可视为视频块。另外,可将片段视为多个视频块,例如宏块和/或子块。每一片段可为视频帧的可独立解码单位。或者,帧自身可为可解码单位,或可将帧的其它部分定义为可解码单位。上文描述的术语译码单位CU可指代视频帧的任何可独立解码单位,例如整个帧、帧的片段、图片群组(GOP)(也称为序列),或根据可适用译码技术定义的另一可独立解码单位。

在帧内预测性或帧间预测性译码以产生预测性数据和残余数据之后,可执行残余数据的变换以用用于译码的更有效方式产生表示残余数据的残余变换系数。所述变换可包括前向或反向离散余弦变换(DCT)、整数变换、子波变换,或另一概念上类似的线性变换。在一些情况下,所述变换可具有使用相对于变换的大小的数目的级联蝶形结构执行的快速实施方案。此外,为减小计算复杂性,所述变换可具有固定点实施方案。然而,固定点变换可引起变换输出信号中的舍入错误。这可在级联蝶形级在舍入或不舍入的情况下将变换输出信号右移若干位时发生。举例来说,n位值可在固定点变换期间右移到m位值,其中n大于m。位损失量通常取决于对应于变换的大小的级联蝶形级的数目。

根据本发明的技术,视频编码器20和/或视频解码器30可通过在变换处应用可变局部位深增加来缓解固定点变换中的舍入错误。更特定来说,所述技术包含基于固定点变换的大小选择恒定值,以及以等于所述恒定值的值在变换处应用可变局部位深增加。通过在所述固定点变换之前将变换输入信号左移等于所述恒定值的位数目且接着在所述固定点变换之后将变换输出信号右移等于所述恒定值的位数目,来应用可变局部位深增加。针对固定点变换的大小的恒定值可选自存储在视频编码器20和/或视频解码器30上的多个恒定值。针对视频译码所支持的多个不同变换大小的一者预先计算恒定值的每一者。

通常,与视频译码相关联的固定点变换包括二维变换。作为一实例,可通过将第一级一维变换应用于视频块内的像素数据行且接着将第二级一维变换应用于视频块内的像素数据列(或反之亦然)来执行二维变换。因此,本发明的技术可包含:基于二维固定点变换的一个级的大小选择恒定值;将所述恒定值加倍;以及以小于或等于经加倍恒定值的值在二维变换处应用可变局部位深增加。在其它实例中,可以等于针对二维变换的一个级选择的恒定值的值在二维变换的每一级处应用局部位深增加。

根据所述技术,针对视频译码标准所支持的每一不同变换大小预先计算不同恒定值。举例来说,ITU-T H.264(AVC)标准可支持4×4和8×8大小的变换。新兴的HEVC标准可对于TU支持包含4×4、4×8、8×4、8×8、8×16、16×8、16×16、16×32、32×16、32×32、32×64、64×32、64×64、64×128、128×64或128×128的变换。所述多个恒定值可接着存储在视频编码器20和/或视频解码器30中,且可基于待应用于视频编码器20和/或视频解码器30的固定点变换的大小选择恒定值中的适当一者。在固定点变换处应用可变局部位深增加提供变换输入信号中的较高位精度以抵消变换期间的位深损失。此外,以基于固定点变换的大小计算的值应用可变局部位深增加减少或消除归因于将变换输出信号右移对应于变换的大小的数目的级联蝶形级的舍入错误。

在一个实例中,对于待编码的视频帧或片段的给定CU,视频编码器20和/或视频解码器30可基于TU的大小选择性地在与视频译码相关联的固定点变换处应用局部可变位深增加。举例来说,可当TU相对大(例如,32×32、64×64或128×128)时在变换处应用局部可变位深增加,但当TU较小(例如,4×4或8×8)时不应用。

在一些实例中,视频编码器20可在执行任何视频块译码之前将内部位深增加(IBDI)应用于从视频源18接收的视频信号。举例来说,视频编码器20可将视频信号的位深从其输入位深8位增加到12位以便执行较高位精度视频译码。视频编码器20可增加视频信号的位深,且视频解码器30可随后将经重建视频信号的位深减小回到其输入位深。在此情况下,根据所述技术,可基于IBDI的值调整基于固定点变换的大小选择的恒定值。举例来说,当将IBDI应用于视频信号时,可接着将基于固定点变换的大小选择的恒定值减小IBDI的值。然而,如果IBDI的值大于恒定值使得所述减小将导致可变局部位深增加为负值,那么将恒定值减小到零且不在固定点变换处应用可变局部位深增加。

变换之后,可执行变换系数的量化。量化一般指代将变换系数量化以可能地减少用于表示系数的数据量的过程。量化过程还可减小与一些或所有系数相关联的位深。在量化之后,可(例如)根据内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)或另一熵译码方法来执行经量化数据的熵译码。经配置以用于熵译码的处理单元或另一处理单元可执行其它处理功能,例如经量化系数的零运行长度译码和/或例如译码单位(例如,帧、片段、宏块或序列)的译码块图案(CBP)值、宏块类型、译码模式、最大宏块大小等语法信息的产生。

视频编码器20可进一步将例如基于块的语法数据、基于帧的语法数据和基于GOP的语法数据等语法数据例如在帧标头、块标头、片段标头或GOP标头中发送到视频解码器30。GOP语法数据可描述相应GOP中的帧数目,且帧语法数据可指示用于编码对应帧的编码/预测模式。当将IBDI应用于视频数据时,视频编码器20可向视频解码器30明确地发信号通知IBDI的值,使得视频解码器30可移除IBDI以将经解码视频信号带回到其输入位深。在一些实例中,视频编码器20还可向视频解码器30明确地发信号通知关于针对反向变换处的可变局部位深增加而选择的恒定值的信息。

在本发明中,术语“译码”指代编码或解码。类似地,术语“译码器”一般指代任何视频编码器、视频解码器或组合编码器/解码器(编解码器)。因而,术语“译码器”在本文中用以指代执行视频编码或视频解码的专用计算机装置或设备。本发明的技术可适用于编码器或解码器。举例来说,视频编码器20和视频解码器30的每一者可包含在相应的相机、计算机、移动装置、订户装置、广播装置、机顶盒、服务器等中。视频编码器20和视频解码器30各自可实施为例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合的多种合适编码器电路中的任一者。

图2是说明用于与视频译码相关联的变换的蝶形结构34的概念图。如上文描述,与视频译码相关联的变换可具有例如图1的视频编码器20或视频解码器30等视频译码装置内的快速实施方案。可使用相对于变换的大小的数目的级联蝶形结构执行变换的此类快速实施方案。图2中说明的蝶形结构34是一个此蝶形结构的实例。在例如一维16点变换的情况下,所述变换可由类似于蝶形结构34的多个级联蝶形结构表示(见图3)。至少部分由蝶形结构34表示的变换可包括前向离散余弦变换(DCT)、整数变换、子波变换或另一概念上类似的线性变换。

蝶形结构34实施的变换的部分可由以下等式表示:

Yi=Wi*Xi+Wi+1*Xi+1

Yi+1=Wi+1*Xi-Wi*Xi+1

其中Xi和Xi+1为变换输入值,Yi和Yi+1为变换输出值,且Wi和Wi+1为加权或乘法因子。变换输入信号可表示为X=(X0,X1,X2…XM),且变换输出信号可表示为Y=(Y0,Y1,Y2…YM)。举例来说,在视频编码的情况下,变换输入值可包括残余视频块的像素值,且变换输出值可包括变换系数。在视频解码的情况下,变换输入值可包括经反量化变换系数,且变换输出值可包括残余视频块的像素值。在变换为例如DCT的情况下,乘法因子为正弦和余弦。在其它变换类型的情况下,乘法因子可采用整数、子波等形式。

为减小例如图1的视频编码器20或视频解码器30等视频译码装置内的计算复杂性,与视频译码相关联的变换可实施为固定点变换而非浮点变换。在固定点变换的情况下,乘法因子可为整数或二进有理数。二进有理数是分子为整数且分母为2的幂的有理数。举例来说,在至少部分由蝶形结构34表示的变换的固定点实施方案中,乘法因子可由Wi=A/2m和Wi+1=B/2m形式的二进有理数近似,其中A、B和m为整数。在固定点中,除以2m也可表示为右移m个位。因此,蝶形结构34的变换输出值可由以下等式表示:

Yi=(A*Xi+B*Xi+1)>>m和

Yi+1=(B*Xi-A*Xi+1)>>m,

其中(>>m)表示在不舍入的情况下右移m个位。

变换的固定点实施方案中的右移引起用于表示变换的级联蝶形结构的每一者处的舍入错误或位深损失。此位深损失的一个额外原因是蝶形结构执行剪切而非舍入。执行剪切是因为在每一蝶形级处执行舍入可能计算量较大。因此,固定点变换的变换输出信号中的累积舍入错误随变换的大小而增加。本发明中的技术通过在固定点变换的输入处应用可变局部位深增加来缓解固定点变换中的舍入错误。

图3是说明用于与视频译码相关联的变换的级联蝶形结构36的概念图。在一个实例中,级联蝶形结构36可表示一维16点变换。级联蝶形结构36仅为变换的一个示范性表示。在其它实例中,级联结构的许多其它变型和组合可级联在一起以表示变换。级联蝶形结构36表示的变换可包括前向或反向离散余弦变换(DCT)、整数变换、子波变换,或另一概念上类似的线性变换。

在所说明的实例中,级联蝶形结构36包含类似于图2的蝶形结构34的多个个别蝶形结构,其级联在一起以表示16点变换。举例来说,级联蝶形结构36包含数对变换输入值X0到X15之间的蝶形结构。另外,级联蝶形结构36使用三十六个乘法来表示16点变换。在其它实例中,级联蝶形结构36可表示变换输入值的不同配对之间、不同数目的变换输入值之间的个别蝶形结构,其以不同布置级联且执行对于变换输入值的不同数学运算(例如,加法或乘法)。

如上文描述,由级联蝶形结构36表示的变换的固定点实施方案归因于将变换输出信号右移而引起个别蝶形结构的每一者处的舍入错误或位深损失。此位深损失的一个额外原因是蝶形结构的每一者执行剪切而非舍入。在所说明的实例中,因此,所表示的16点固定点变换具有取决于用于表示变换的级联蝶形结构的数目的其变换输出信号中的累积舍入错误。在其它实例中,固定点变换的累积舍入错误可更大,因为视频译码标准可支持达32×32、64×64或128×128的大小的变换。

此外,随着变换的大小增加,蝶形结构的每一者处的加权或乘法因子(例如,Wi=A/2m)可减小,其可在二进有理数中表示为值m的增加。所增加的m值产生固定点变换的蝶形结构的每一者处的较大右移,以及随后较大的累积舍入错误。视频编码装置中的前向变换和视频解码装置中的反向变换两者处的相关联位深损失可导致用于显示的视频块的低位精度重建。

本发明中的技术通过在固定点变换处应用可变局部位深增加来缓解固定点变换中的舍入错误。所述技术包含基于固定点变换的大小选择恒定值N,以及以等于恒定值的值在固定点变换处应用可变局部位深增加。恒定值可选自针对多个不同变换大小预先计算的多个恒定值。应用可变局部位深增加包含在固定点变换之前将变换输入信号X左移等于恒定值的位数目且在固定点变换之后将变换输出信号Y右移等于恒定值的位数目。

当在固定点变换处应用可变局部位深增加时,变换输入信号可表示为X′=X<<N,其中(<<N)表示左移N位,且变换输出信号可表示为Y′=(Y+2N-1)>>N,其中2N-1表示偏移且(>>N)表示右移N位。在其它实例中,不同偏移可在右移N位之前应用于变换输出信号。在一些情况下,额外偏移和右移可连同可变局部位深增加一起应用于变换输出信号。在那些情况下,偏移和右移可组合在一起。举例来说,如果额外偏移具有值2M-1且额外右移具有值M,那么组合偏移可具有等于2M+N-1的值且组合右移可具有等于(M+N)的值。

在固定点变换的输入处应用可变局部位深增加提供用于变换的较高位深变换输入信号。此外,以基于固定点变换的大小计算的值应用可变局部位深增加减少或消除归因于变换的固定点实施方案的舍入错误。

如上文描述,级联蝶形结构36可表示一维16点变换。通常,与视频译码相关联的固定点变换包括二维变换。可通过将第一级一维变换应用于视频块内的像素数据行且接着将第二级一维变换应用于视频块内的像素数据列(或反之亦然)来执行二维变换。举例来说,二维16×16变换可由类似于级联蝶形结构36的两组级联蝶形结构表示。本发明的技术可包含基于二维固定点变换的一个级的大小选择恒定值;将所述恒定值加倍;以及以小于或等于经加倍恒定值的值在二维变换处应用可变局部位深增加。可在较低恒定值足够大以致可缓解舍入错误且/或较低恒定值对于限制实施变换所需的位深是必需的时应用具有小于经加倍恒定值的值的可变局部位深。在其它实例中,可以等于针对二维变换的一个级选择的恒定值的值在二维变换的每一级处应用局部位深增加。

图4是说明实例视频编码器20A的框图,所述实例视频编码器20A可实施用于在变换单元52处应用可变局部位深增加来缓解变换单元52的固定点实施方案中的舍入错误的技术。视频编码器20A可包括参看图1描述的源装置12内的视频编码器20的一个实例。

视频编码器20A可执行视频信号的视频帧内的块(包含宏块,或宏块的分区或子分区)的帧内和帧间译码。帧内译码依赖于空间预测以减少或移除给定视频帧内的视频块中的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的相邻帧内的视频块中的时间冗余。帧内模式(I模式)可指代若干基于空间的压缩模式中的任一者,且例如单向预测(P模式)、双向预测(B模式)或一般化P/B预测(GPB模式)等帧间模式可指代若干基于时间的压缩模式中的任一者。

视频编码器20A接收待编码的视频信号的视频帧内的当前视频块。在图4的实例中,视频编码器20A包含预测单元40、参考帧存储器64、求和器50、变换单元52、量化单元54和熵译码单元56。为了视频块重建,视频编码器20A还包含反向量化单元58、反向变换单元60和求和器62。还可包括解块滤波器(图4中未展示)以将块边界滤波,以从经重建的视频移除成块性假影。在需要时,解块滤波器通常将对求和器62的输出进行滤波。根据所述用于在变换单元52处应用可变局部位深增加以校正变换单元52的固定点实施方案的舍入错误的技术,视频编码器20A还包含局部位深增加(LBDI)单元42以及恒定值存储器43。

在编码过程期间,视频编码器20A接收待译码的视频帧或片段。所述帧或片段可划分为多个视频块。预测单元40执行所接收视频块相对于一个或一个以上参考帧中的一个或一个以上块的帧间预测性译码以提供时间压缩。帧内预测单元也可执行所接收视频块相对于与待译码块相同的帧或片段中的一个或一个以上相邻块的帧内预测性译码以提供空间压缩。预测单元40可执行模式选择以例如基于错误结果选择译码模式的一者(帧内或帧间),且将所得帧内或帧间译码块提供到求和器50以产生残余块数据,并提供到求和器62以重建经编码块以供用作参考帧。

预测单元40可执行运动估计和运动补偿两者。在其它实例中,运动估计和运动补偿可包括单独的功能块。运动估计是产生估计视频块的运动的运动向量的过程。举例来说,运动向量可指示预测性参考帧(或其它经译码单元)内的预测性块相对于在当前帧(或其它经译码单元)内经译码的当前块的位移。预测性块是被发现在像素差方面与待译码块紧密匹配的块,所述像素差可由绝对差和(SAD)、平方差和(SSD)或其它差度量确定。运动向量还可指示宏块的分区的位移。运动补偿可涉及基于运动估计所确定的运动向量来获取或产生预测块。

当执行运动估计时,预测单元40通过将帧间译码帧的视频块与参考帧存储器64中的参考帧的视频块进行比较来计算所述帧间译码帧的视频块的运动向量。预测单元40将所计算的运动向量发送到熵译码单元56。由运动向量识别的参考帧块可称作预测块。预测单元40计算参考帧的预测性块的错误值。预测单元40还可基于预测性块计算预测数据。视频编码器20A通过从正译码的原始视频块剪去来自预测单元40的预测数据而形成残余视频块。求和器50表示执行此减法运算的组件。

变换单元52将例如离散余弦变换(DCT)、整数变换、子波变换或概念上类似的线性变换等变换应用于残余视频块,从而产生包括残余变换系数值的视频块。变换单元52将所述变换应用于残余块,从而产生残余变换系数块。变换单元52可将残余信息从像素值域转化为变换域(例如,频域)。

如上文描述,变换单元52的固定点实施方案可归因于右移对应于变换单元52的固定点变换的大小的级联蝶形结构的数目而引起其变换输出信号中的舍入错误或位深损失。为了减少或消除变换单元52的固定点实施方案中的舍入错误,LBDI单元42基于变换单元52的固定点变换的大小从恒定值存储器43选择恒定值,且以等于恒定值的值在变换单元52处应用可变局部位深增加。更特定来说,LBDI单元42向输入到变换单元52的残余视频块数据引入左移44等于恒定值的位数目。LBDI单元42还向从变换单元52输出的残余变换系数应用右移45等于恒定值的位数目。LBDI单元42还可向残余变换系数应用偏移,随后向经偏移的残余变换系数应用右移45。在一些情况下,额外偏移和右移可应用于变换输出信号,且可与可变局部位深增加的偏移和右移组合。

增加残余视频块的位深会增加位精度,但也增加了用于处理高位精度视频块的计算复杂性。因此,LBDI单元42正好在变换单元52之前和之后应用左移44和右移45以保持位于变换单元52处的可变局部位深增加。以此方式,变换单元52处可能需要高复杂性处理,但视频编码器20A中的剩余功能单元处不需要。

LBDI单元42内的恒定值存储器43存储针对视频编码器20A使用的视频译码标准所支持的多个不同变换大小的多个恒定值。针对所述多个不同变换大小的一者预先计算存储在恒定值存储器43中的恒定值的每一者。以此方式,LBDI单元42可针对变换单元52应用的每一不同变换大小选择不同恒定值以便有效减少任何大小的固定点变换中的舍入错误。举例来说,H.264(AVC)标准可支持大小4×4和8×8的变换。新兴的HEVC标准可支持达16×16、32×32、64×64或128×128的大小的正方形和/或矩形变换。

基于视频信号的输入位深值Bi、变换位深值BTR(其为避免固定点变换的溢出所必需的额外位数目)和与固定点变换相关联的变换位精度值Z,预先计算针对存储在恒定值存储器43中的所述多个不同变换大小的一者的恒定值的每一者。可预先计算恒定值N的每一者以满足等式Bi+BTR+N≤Z。

在一些情况下,可预先计算恒定值以具有较大值使得以等于恒定值的值应用可变局部位深增加将产生具有大于视频编码器20A所支持的总体位深的位深的变换输入信号。举例来说,如果视频编码器20A包括32位编码器,那么可预先计算恒定值,其将产生具有大于32位的位深的变换输入信号。在所述情况下,所述恒定值可在存储在恒定值存储器43中之前减小以确保变换输入信号的位深不会超过针对视频编码器20A的总体位深。

为了预先计算针对所述多个不同变换大小的一者的恒定值的每一者,基于视频编码器和/或视频解码器两者中的固定点变换的实施方案选择变换位精度值Z。举例来说,所述变换位精度值可等于16、32或64位。变换位精度值可取决于固定点变换的大小以及实施在视频译码装置内的与变换相关联的寄存器的大小。

此外,为预先计算针对所述多个不同变换大小的一者的恒定值的每一者,基于固定点变换的大小确定避免固定点变换中的溢出所必需的变换位深值BTR。更特定来说,可基于表示固定点变换单元的级联蝶形结构的每一者处的变换输出值的最坏情况分析确定变换位深值。可基于个别蝶形结构的每一者处的乘法因子Wi和Wi+1计算变换输出Yi和Yi+1的可能值的范围。整个固定点变换的变换输出信号的累积位范围提供避免固定点变换中的溢出所必需的额外位的最大数目(即,变换位深值BTR)。

在一些实例中,变换单元52可包括二维固定点变换。举例来说,变换单元52可通过将第一级一维变换应用于残余视频块内的像素数据行且接着将第二级一维变换应用于残余视频块内的像素数据列(或反之亦然)来执行二维变换。作为一个实例,变换单元52可包括16×16固定点变换。LBDI单元42可基于变换单元52的固定点变换的大小16×16从存储在恒定值存储器43中的所述多个恒定值选择恒定值。针对大小16×16存储的恒定值可例如等于12位。作为一实例,所存储的恒定值可基于大小16×16变换的预先计算,其中视频信号的输入位深值Bi等于8位,变换位精度值Z等于32位,且变换位深值BTR等于12位。恒定值N预先计算为等于12位以满足等式Bi+BTR+N≤Z。

在此实例中,LBDI单元42将12位左移44应用于输入到变换单元52的残余视频块。LBDI单元42类似地将12位右移45应用于从变换单元52输出的残余变换系数。LBDI 42可首先将偏移应用于从变换单元52输出的残余变换系数,随后将右移45应用于经偏移的残余变换系数。在一个实例中,LBDI 42可应用等于2N-1的偏移,其中N为恒定值。在其它实例中,不同偏移可应用于从变换单元52输出的残余变换系数,随后应用右移45。在一些情况下,额外偏移和右移可连同可变局部位深增加一起应用于变换输出信号。在那些情况下,偏移和右移可组合在一起。举例来说,如果额外偏移具有值2M-1且额外右移具有值M,那么组合的偏移可具有等于2M+N-1的值且组合的右移可具有等于(M+N)的值。

在一些情况下,恒定值存储器43可存储对应于一维变换大小的恒定值。当变换单元52包括二维固定点变换时,LBDI单元42可基于变换单元52的二维固定点变换的一个级的大小选择恒定值且将所述恒定值加倍以考虑二维固定点变换的两个级。LBDI单元42可接着以小于或等于经加倍恒定值的值在变换单元52处应用可变局部位深增加。可在较低恒定值足够大以致可缓解舍入错误且/或较低恒定值对于限制实施变换所需的位深是必需的时应用利用小于经加倍恒定值的值的可变局部位深。在其它实例中,LBDI单元42可以等于针对二维固定点变换的一个级选择的恒定值的值在变换单元52的二维固定点变换的每一级处应用局部位深增加。

LBDI单元42可通过在变换单元52处应用可变局部位深增加以提供用于变换的较高位深变换输入信号来减少或消除变换单元52中的舍入错误。输入到变换单元52的残余视频块数据的较高位深缓解用于表示变换单元52的固定点变换的级联蝶形结构所执行的右移的效应。此外,以基于变换单元52的固定点变换的大小计算的值应用可变局部位深增加更有效地减少归因于应用于残余视频块数据的特定固定点变换的变换单元52中的舍入错误。

量化单元54量化残余变换系数以进一步减小位速率。量化过程可减小与系数中的一些或全部相关联的位深。可通过调整量化参数修改量化程度。特定来说,量化单元54可应用锯齿形扫描或其它扫描模式来扫描宏块或分区中的变换系数。在量化之后,熵译码单元56对经量化变换系数进行熵译码。举例来说,熵译码单元56可执行内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC),或另一熵译码技术。在熵译码单元56进行的熵译码之后,可将经编码视频发射到另一装置或加以存档以用于稍后发射或检索。在上下文自适应二进制算术译码的情况下,上下文可基于相邻宏块。

在一些情况下,熵译码单元56或视频编码器20A的另一单元可经配置以执行除熵译码外的其它译码功能。举例来说,熵译码单元56可经配置以确定宏块和分区的CBP值。并且,在一些情况下,熵译码单元56可执行其宏块或分区中的系数的运行长度译码。熵译码单元56还可用适当的语法元素建构标头信息以用于在经编码视频位流中进行发射。

反向量化单元58和反向变换单元60分别应用反向量化和反向变换以重建像素域中的残余块,例如以供稍后用作参考块。类似于上文参看变换单元52描述的处理,LBDI单元42基于反向变换单元60的固定点反向变换的大小从恒定值存储器43选择恒定值,且以等于恒定值的值在反向变换单元60处应用可变局部位深增加。

在一些实例中,LBDI单元42可选择反向变换单元60处的可变局部位深增加的与变换单元52处不同的恒定值。在一些情况下,反向变换单元60应用的固定点反向变换具有与变换单元52应用的固定点前向变换不同的大小。在其它情况下,视频编码器20A的解码器部分可具有比视频编码器20A的编码器部分低的位精度值,或反向量化单元58可产生左移使得反向变换单元60中的舍入错误不如变换单元52中严重。因此,恒定值存储器43可存储具有不同位精度值和不同反量化度量的译码装置的不同恒定值集合。然而,重要的是,LBDI单元42选择反向变换单元60处的可变局部位深增加的恒定值,其与对应的视频解码器中的反向变换处的可变局部位深增加相同以免漂移。

LBDI单元42向输入到反向变换单元60的残余变换系数应用左移46等于恒定值的位数目,且向从反向变换单元60输出的残余视频块应用右移47等于恒定值的位数目。LBDI 42还可将偏移应用于从反向变换单元60输出的残余视频块数据,随后将右移47应用于经偏移的残余视频块数据。在一些情况下,额外偏移和右移可应用于变换输出信号,且可与可变局部位深增加的偏移和右移组合。再次,LBDI单元42可正好在反向变换单元60之前和之后应用左移46和右移47以保持位于反向变换单元60处的可变局部位深增加。

预测单元40可通过将残余块与参考帧存储器64的帧的一者的预测性块相加来计算参考块。预测单元40还可将一个或一个以上内插滤波器应用于重建的残余块以计算子整数像素值以供在运动估计中使用。求和器62将重建的残余块与预测单元40产生的经运动补偿的预测块相加以产生重建的视频块以供存储在参考帧存储器64中。重建的视频块可由预测单元40用作参考块以对后续视频帧中的块进行帧间译码。

图5是说明视频解码器30A的实例的框图,所述视频解码器30A可实施用于在反向变换单元78处应用可变局部位深增加来缓解反向变换单元78的固定点实施方案中的舍入错误的技术。视频解码器30A可包括参看图1描述的目的地装置14内的视频解码器30的一个实例。

视频解码器30A对来自视频编码器(例如,来自图4的视频编码器20A)的位流中接收的经编码视频序列进行解码。在图5的实例中,视频解码器30A包含熵解码单元70、预测单元72、反向量化单元76、反向变换单元78、参考帧存储器82和求和器80。根据用于在反向变换单元78处应用可变局部位深增加以缓解反向变换单元78的固定点实施方案中的舍入错误的技术,视频解码器30A还包含局部位深增加(LBDI)单元84以及恒定值存储器85。

在一些实例中,视频解码器30A可执行通常与相对于视频编码器20A描述的编码遍次(图4)互逆的解码遍次。预测单元72可基于从熵解码单元70接收的运动向量产生预测数据。预测单元72可使用位流中接收的运动向量来识别参考帧存储器82中的参考帧中的预测块。预测单元72还可使用位流中接收的帧内预测模式来从空间上邻近的块形成预测块。反量化单元76将提供于位流中且由熵解码单元70解码的经量化的块系数反量化(即,解量化)。反量化过程可包括(例如)如通过H.264解码标准界定的常规过程。反向量化过程还可包含针对每一宏块使用编码器20A计算的量化参数以确定量化程度,以及同样确定应应用的反向量化程度。

反向变换单元78将例如反向DCT、反向整数变换、反向子波变换或概念上类似的反向线性变换等反向变换应用于变换系数以便产生残余视频块。反向变换单元78可将变换系数从变换域(例如,频域)转化为像素域。

如上文关于来自图4的变换单元52所描述,反向变换单元78的固定点实施方案可引起其变换输出信号中的舍入错误或位深损失,其取决于反向变换单元78的固定点反向变换的大小。为减少或消除反向变换单元78的固定点实施方案的舍入错误,LBDI单元84执行大体类似于来自图4的LBDI单元42的技术,以基于反向变换单元78的固定点反向变换的大小从恒定值存储器85选择恒定值,且以等于所述恒定值的值在反向变换单元78处应用可变局部位深增加。

更特定来说,LBDI单元84向输入到反向变换单元78的变换系数引入左移86等于恒定值的位数目。LBDI单元84还向从反向变换单元78输出的残余视频块应用右移87等于恒定值的位数目。LBDI单元84还可向从反向变换单元78输出的残余视频块应用偏移,随后向经偏移的残余视频块应用右移87。在一些情况下,额外偏移和右移可应用于变换输出信号,且可与可变局部位深增加的偏移和右移组合。LBDI单元84正好在反向变换单元78之前和之后应用左移86和右移87以保持位于反向变换单元78处的可变局部位深增加。

LBDI单元84内的恒定值存储器85存储针对视频解码器30A所使用的视频译码标准所支持的多个不同反向变换大小的多个恒定值。针对所述多个不同反向变换大小的一者预先计算存储在恒定值存储器85中的恒定值的每一者。以此方式,LBDI单元84针对反向变换单元78所应用的每一不同反向变换大小选择不同恒定值以便有效减少任何大小的固定点反向变换中的舍入错误。

基于视频信号的输入位深值Bi、变换位深值BTR(其为避免固定点反向变换中的溢出所必需的额外位数目)和与固定点反向变换相关联的变换位精度值Z,预先计算针对存储在恒定值存储器85中的所述多个不同反向变换大小的一者的恒定值的每一者。可预先计算恒定值N的每一者以满足等式Bi+BTR+N≤Z。

在一些情况下,可预先计算恒定值以具有较大值使得以等于恒定值的值应用可变局部位深增加将产生具有大于视频解码器30A所支持的总体位深的位深的变换输入信号。举例来说,如果视频解码器30A包括32位解码器,那么可预先计算恒定值,其将产生具有大于32位的位深的变换输入信号。在所述情况下,所述恒定值可在存储在恒定值存储器85中之前减小以确保变换输入信号的位深不会超过针对视频解码器30A的总体位深。

在一些情况下,视频解码器30A可接收来自视频编码器20A的明确发信号通知的信息以选择反向变换单元78处的可变局部位深增加的恒定值。举例来说,视频解码器30A可明确接收LBDI单元42针对视频编码器20A中的反向变换单元60处应用的可变局部位深增加而选择的恒定值。重要的是,LBDI单元84选择反向变换单元78处的可变局部位深增加的恒定值,其与视频编码器20A中的反向变换单元60处的可变局部位深增加相同以免编码器与解码器之间的漂移。

在一些实例中,反向变换单元78可包括二维固定点变换。作为一个实例,反向变换单元78可包括16×16固定点反向变换。LBDI单元84可基于反向变换单元78的固定点反向变换的大小16×16从存储在恒定值存储器85中的所述多个恒定值选择恒定值。针对大小16×16存储的恒定值可例如等于12位。作为一实例,所存储的恒定值可基于大小16×16变换的预先计算,其中视频信号的输入位深值Bi等于8位,变换位精度值Z等于32位,且变换位深值BTR等于12位。恒定值N预先计算为等于12位以满足等式Bi+BTR+N≤Z。

在此实例中,LBDI单元84将12位左移86应用于输入到反向变换单元78的变换系数。LBDI单元84类似地将12位右移87应用于从反向变换单元78输出的残余视频块。LBDI单元84可首先将偏移应用于从反向变换单元78输出的残余视频块,随后将右移87应用于经偏移的残余视频块。在一个实例中,LBDI单元84可应用等于2N-1的偏移,其中N为恒定值。在其它实例中,不同偏移可应用于从反向变换单元78输出的残余视频块,随后应用右移87。在一些情况下,额外偏移和右移可连同可变局部位深增加一起应用于变换输出信号。在那些情况下,偏移和右移可组合在一起。举例来说,如果额外偏移具有值2M-1且额外右移具有值M,那么组合的偏移可具有等于2M+N-1的值且组合的右移可具有等于(M+N)的值。

在一些情况下,恒定值存储器85可存储对应于一维变换大小的恒定值。当反向变换单元78包括二维固定点变换时,LBDI单元84可基于反向变换单元78的二维固定点变换的一个级的大小选择恒定值且将所述恒定值加倍以考虑二维固定点变换的两个级。LBDI单元84可接着以小于或等于经加倍恒定值的值在反向变换单元78处应用可变局部位深增加。可在较低恒定值足够大以致可缓解舍入错误且/或较低恒定值对于限制实施变换所需的位深是必需的时应用利用小于经加倍恒定值的值的可变局部位深。在其它实例中,LBDI单元84可以等于针对二维固定点变换的一个级选择的恒定值的值在反向变换单元78的二维固定点变换的每一级处应用局部位深增加。

预测单元72产生经运动补偿块,从而可能基于内插滤波器执行内插。待用于具有子像素精度的运动估计的内插滤波器的识别符可包含在语法元素中。预测单元72可使用如视频编码器20A在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。预测单元72可根据所接收的语法信息确定视频编码器20A使用的内插滤波器且使用所述内插滤波器来产生预测性块。

预测单元72可使用语法信息中的一些来确定用于编码经编码视频序列的帧的宏块的大小、描述经编码视频序列的帧的每一宏块如何分割的分区信息、指示每一分区如何编码的模式、每一帧间编码宏块或分区的一个或一个以上参考帧(或列表),以及用以对经编码视频序列进行解码的其它信息。

求和器80将残余块与预测单元72产生的对应预测块求和以形成经解码块。如果需要的话,还可应用解块滤波器以对经解码块进行滤波,以便移除成块假影。经解码视频块接着存储在参考帧存储器82中,参考帧存储器82提供用于后续运动补偿的参考块且还产生用于在显示装置(例如,图1的显示装置32)上呈现的经解码视频。

图6是说明实例视频编码器20B的框图,其中使用还可实施用于在变换单元52处应用可变局部位深增加的技术的内部位深增加(IBDI)。视频编码器20B可包括参看图1描述的源装置12内的视频编码器20的一个实例。此外,视频编码器20B可大体上与来自图4的视频编码器20A类似而操作,对于IBDI作了一些修改。

类似于来自图4的视频编码器20A,视频编码器20B包含预测单元40、参考帧存储器64、求和器50、变换单元52、量化单元54和熵译码单元56。为了视频块重建,视频编码器20B还包含反向量化单元58、反向变换单元60和求和器62。根据所述用于在变换单元52处应用可变局部位深增加以缓解变换单元52的固定点实施方案中的舍入错误的技术,视频编码器20B还包含LBDI单元42以及恒定值存储器43。

在图6的所说明的实例中,视频编码器20B还包含内部位深增加(IBDI)单元90,其将IBDI应用于视频信号,随后视频编码器20B执行任何视频块译码。在一个实例中,IBDI单元90可将4位IBDI应用于视频信号以将视频信号的位深从其输入位深8位增加到12位以便执行较高位精度视频译码。当IBDI应用于视频信号时,视频编码器20B内的每个功能单元处需要高复杂性和高位精度视频处理。尽管IBDI的应用产生视频信号的较精确编码,但IBDI 90仅可在能够处理和缓冲高位深信号的编码器中应用IBDI。此外,当IBDI 90将IBDI应用于视频信号时,视频编码器20B可向相关联视频解码器(例如,图7中的视频解码器30B)明确发信号通知IBDI的值,使得视频解码器可移除IBDI以将经解码视频信号带回到其输入位深。

为了减少或消除变换单元52的固定点实施方案中的舍入错误,LBDI单元42基于变换单元52的固定点变换的大小从恒定值存储器43选择恒定值,且基于IBDI单元90应用的IBDI的值调整恒定值,接着以等于经调整恒定值的值在变换单元52处应用可变局部位深增加。更特定来说,LBDI单元42向输入到变换单元52的残余视频块数据引入左移94等于经调整恒定值的位数目。LBDI单元42还向从变换单元52输出的残余变换系数应用右移95等于经调整恒定值的位数目。LBDI单元42还可向从变换单元52输出的残余变换系数应用偏移,随后向经偏移的残余变换系数应用右移95。在一些情况下,额外偏移和右移可应用于变换输出信号,且可与可变局部位深增加的偏移和右移组合。

如上文参看图4描述,LBDI单元42内的恒定值存储器43存储针对视频编码器20B使用的视频译码标准所支持的多个不同变换大小的多个恒定值。针对所述多个不同变换大小的一者预先计算存储在恒定值存储器43中的恒定值的每一者。当IBDI应用于视频信号时,LBDI单元42继续基于变换单元52的固定点变换的大小从恒定值存储器43选择恒定值。然而,一旦选择恒定值,LBDI 42就可将恒定值减小IBDI单元90应用的IBDI的值。

然而,LBDI单元42仅可将恒定值减小为非负值,且否则将恒定值设定为等于零。负恒定值将导致LBDI单元42向输入到变换单元42的残余视频块应用右移而非左移94,从而可能使变换输出信号中的舍入错误更大。因此,LBDI单元42将恒定值N减小IBDI单元90应用的IBDI的值Bd,使得经调整恒定值等于N-Bd,只要IBDI的值小于或等于恒定值即可,即(N-Bd)≥0。当IBDI单元90应用的IBDI的值Bd大于恒定值N(即,(N-Bd)<0)时,那么LBDI单元42将恒定值N减小为零。在此情况下,LBDI单元42不在变换单元52处应用可变局部位深增加。

作为一实例,IBDI单元90可将4位IBDI应用于输入到视频编码器20B的视频信号,且变换单元52可包括固定点16×16变换。LBDI单元42可针对大小16×16变换选择等于8位的恒定值N。LBDI单元42接着将恒定值N减小IBDI单元90应用的IBDI的值Bd,使得经调整恒定值等于4位。在此实例中,LBDI单元42向输入到变换单元52的残余视频块应用4位左移94,且向从变换单元52输出的残余变换系数应用4位右移95。在另一实例中,IBDI单元90可将10位IBDI应用于视频信号。在此情况下,LBDI单元42将恒定值N减小到零,因为将恒定值N减小IBDI的值Bd将产生负值。在此实例中,LBDI单元42不在变换单元52处应用可变局部位深增加。

类似于上文参看变换单元52描述的处理,LBDI单元42基于反向变换单元60的固定点反向变换的大小选择恒定值,且基于IBDI单元90应用的IBDI的值调整恒定值。LBDI单元42接着以等于经调整恒定值的值在反向变换单元60处应用可变局部位深增加。在一些实例中,LBDI单元42可选择反向变换单元60处的可变局部位深增加的与变换单元52处不同的恒定值,从而产生不同的经调整恒定值。然而,重要的是,LBDI单元42选择并调整反向变换单元60处的可变局部位深增加的恒定值,其与对应的视频解码器中的反向变换处的可变局部位深增加相同以免漂移。

LBDI单元42向输入到反向变换单元60的残余变换系数应用左移96等于恒定值的位数目,且向从反向变换单元60输出的残余视频块数据应用右移97等于恒定值的位数目。LBDI单元42还可将偏移应用于从反向变换单元60输出的残余视频块数据,随后将右移97应用于经偏移的视频块数据。在一些情况下,额外偏移和右移可应用于变换输出信号,且与可变局部位深增加的偏移和右移组合。

图7是说明视频解码器30B的实例的框图,其中使用还可实施用于在反向变换单元78处应用可变局部位深增加的技术的内部位深增加(IBDI)。视频解码器30B可包括参看图1描述的目的地装置14内的视频解码器30的一个实例。此外,视频解码器30B可大体上与来自图5的视频解码器30A类似而操作,对于IBDI作了一些修改。

类似于来自图5的视频解码器30A,视频解码器30B包含熵解码单元70、预测单元72、反向量化单元76、反向变换单元78、参考帧存储器82和求和器80。根据用于在反向变换单元78处应用可变局部位深增加以缓解反向变换单元78的固定点实施方案中的舍入错误的技术,视频解码器30B还包含LBDI单元84以及恒定值存储器85。

视频解码器30B对来自视频编码器(例如,来自图6的视频编码器20B)的位流中接收的具有内部位深增加(IBDI)的经编码视频序列进行解码。在一些情况下,视频解码器30B可接收来自视频编码器20B的明确发信号通知的信息以选择且调整反向变换单元78处的可变局部位深增加的恒定值。举例来说,视频解码器30B可明确接收LBDI单元42选择的恒定值和LBDI单元42使用的IBDI的值以调整在视频编码器20B中的反向变换单元60处应用的可变局部位深增加的恒定值。重要的是,LBDI单元84选择并调整反向变换单元78处的可变局部位深增加的恒定值,其与视频编码器20A中的反向变换单元60处的可变局部位深增加相同以免编码器与解码器之间的漂移。

在图7的所说明的实例中,视频解码器30B包含反向IBDI单元100,其在视频解码器30B执行视频块解码之后将反向IBDI应用于经解码视频信号。反向IBDI单元100可以等于由视频编码器20B中的IBDI单元90应用于视频信号的IBDI的明确接收的值的值将反向IBDI应用于经解码视频信号。以此方式,视频解码器30B可移除IBDI以将经解码视频信号带回到其输入位深。在一个实例中,反向IBDI单元100可将4位反向IBDI应用于经解码视频信号以将经解码视频信号的位深从12位减小到其输入位深8位。

为了减少或消除反向变换单元78的固定点实施方案中的舍入错误,LBDI单元82基于反向变换单元78的固定点反向变换的大小从恒定值存储器85选择恒定值,且基于视频编码器20B中的IBDI单元90应用的且向视频解码器30B明确发信号通知的IBDI的值调整恒定值。LBDI单元84接着以等于经调整恒定值的值在反向变换单元78处应用可变局部位深增加。

更特定来说,LBDI单元84向输入到反向变换单元78的变换系数引入左移106等于经调整恒定值的位数目。LBDI单元84还向从反向变换单元78输出的残余视频块应用右移107等于经调整恒定值的位数目。LBDI单元84还可向从反向变换单元78输出的残余视频块应用偏移,随后向经偏移的残余视频块应用右移107。在一些情况下,额外偏移和右移可应用于变换输出信号,且与可变局部位深增加的偏移和右移组合。

如上文参看图5描述,LBDI单元84内的恒定值存储器85存储针对视频解码器30B使用的视频译码标准所支持的多个不同反向变换大小的多个恒定值。针对所述多个不同反向变换大小的一者预先计算存储在恒定值存储器85中的恒定值的每一者。当IBDI应用于视频信号时,LBDI单元84继续基于反向变换单元78的固定点反向变换的大小从恒定值存储器85选择恒定值。然而,一旦选择恒定值,LBDI 84就可将恒定值减小视频编码器20B中的IBDI单元90应用的且向视频解码器30B明确发信号通知的IBDI的值。

然而,LBDI单元84仅可将恒定值减小为非负值,且否则将恒定值设定为等于零。负恒定值将导致LBDI单元84向输入到反向变换单元78的变换系数应用右移而非左移106,从而可能使变换输出信号中的舍入错误更大。因此,LBDI单元84将恒定值N减小IBDI的值Bd,使得经调整恒定值等于N-Bd,只要IBDI的值小于或等于恒定值即可,即(N-Bd)≥0。当IBDI的值Bd大于恒定值N(即,(N-Bd)<0)时,那么LBDI单元84将恒定值N减小为零。在此情况下,LBDI单元84不在反向变换单元78处应用可变局部位深增加。

作为一实例,IBDI单元90可将4位IBDI应用于视频编码器20B中的视频信号,且反向变换单元78可包括固定点16×16变换。LBDI单元84可针对大小16×16变换将恒定值N选择为等于8位。LBDI单元84接着将恒定值N减小IBDI的值Bd,使得经调整恒定值等于4位。在此实例中,LBDI单元84向输入到反向变换单元78的变换系数应用4位左移106,且向从反向变换单元78输出的残余视频块应用4位右移95。在另一实例中,IBDI单元90可已将10位IBDI应用于视频编码器20B中的视频信号。在此情况下,LBDI单元84将恒定值N减小到零,因为将恒定值N减小IBDI的值Bd将产生负值。在此实例中,LBDI单元84不在反向变换单元78处应用可变局部位深增加。

图8是说明在变换单元处应用可变局部位深增加来缓解变换单元的固定点实施方案的舍入错误的示范性方法的流程图。将参看来自图4的视频编码器20A和来自图6的视频编码器20B描述图8中说明的方法。

视频编码器20A或20B将针对多个不同变换大小的多个恒定值存储在LBDI单元42中的恒定值存储器43中(130)。如上所述,基于视频信号的输入位深值Bi、与变换大小相关联的变换位深值BTR以及与变换大小相关联的变换位精度值Z预先计算与所述多个不同变换大小的一者相关联的恒定值的每一者。举例来说,可预先计算每一恒定值N以满足等式Bi+BTR+N≤Z。

视频编码器20A或20B接着接收待编码的视频信号(132)。在接收到视频信号后,视频编码器20A或20B的LBDI单元42确定待由变换单元52应用的固定点变换的大小,且基于固定点变换的大小选择存储在恒定值存储器53中的恒定值(134)。

LBDI单元42接着确定内部位深增加(IBDI)是否已应用于所接收的视频信号(136)。如果如来自图4的视频编码器20A的实例中一样尚未应用IBDI(136为否),那么正好在变换单元52之前,LBDI单元42向输入到变换单元52的残余视频块数据应用左移44等于选定恒定值的位数目(140)。变换单元52接着将经左移的残余视频块数据变换为变换系数(142)。正好在变换单元52之后,LBDI单元42可将偏移应用于从变换单元52输出的变换系数(144)。举例来说,LBDI单元42可将等于2N-1的偏移应用于变换系数。LBDI单元42接着向经偏移的变换系数应用右移45等于选定恒定值的位数目(146)。

在一些情况下,额外偏移和右移可连同可变局部位深增加一起应用于变换输出信号。在那些情况下,偏移和右移可组合在一起。举例来说,如果额外偏移具有值2M-1且额外右移具有值M,那么组合偏移可具有等于2M+N-1的值且组合右移可具有等于(M+N)的值。

如果如来自图6的视频编码器20B的实例中一样已应用IBDI(136为是),那么LBDI单元42确定由IBDI单元90应用于视频信号的IBDI的值。LBDI单元42接着基于IBDI的值调整选定的恒定值(138)。在此情况下,针对变换单元52的固定点变换的大小选择的恒定值N将减小IBDI的值Bd,使得经调整恒定值等于N-Bd

LBDI单元42仅可将选定恒定值减小为非负值。举例来说,当IBDI的值小于或等于选定恒定值使得(N-Bd)≥0时,LBDI单元42将选定恒定值减小IBDI的值。如果IBDI的值大于选定恒定值使得(N-Bd)<0,那么LBDI单元42将选定恒定值减小为零。

正好在变换单元52之前,LBDI单元42向输入到变换单元52的残余视频块数据应用左移94等于经调整恒定值的位数目(140)。变换单元52接着将经左移的残余视频块数据变换为变换系数(142)。正好在变换单元52之后,LBDI单元42可将偏移应用于从变换单元52输出的变换系数(144)。举例来说,LBDI单元42可将等于2N-1的偏移应用于变换系数。LBDI单元42接着向经偏移的变换系数应用右移95等于经调整恒定值的位数目(146)。

在一些情况下,额外偏移和右移可连同可变局部位深增加一起应用于变换输出信号。在那些情况下,偏移和右移可组合在一起。举例来说,如果额外偏移具有值2M-1且额外右移具有值M,那么组合偏移可具有等于2M+N-1的值且组合右移可具有等于(M+N)的值。

LBDI单元42可通过在变换单元52处应用可变局部位深增加以提供用于变换的较高位深变换输入信号来减少或消除变换单元52的舍入错误。输入到变换单元52的残余视频块数据的较高位深较少受用于表示变换单元52的固定点变换的级联蝶形结构所执行的右移的量破坏。此外,以基于变换单元52的固定点变换的大小计算的值应用可变局部位深增加更有效地减少归因于应用于残余视频块数据的特定固定点变换的变换单元52的舍入错误。

图9是说明在反向变换单元处应用可变局部位深增加来缓解反向变换单元的固定点实施方案的舍入错误的示范性方法的流程图。将参看来自图5的视频解码器30A和来自图7的视频解码器30B描述图9中说明的方法。

视频解码器30A或30B将针对多个不同变换大小的多个恒定值存储在LBDI单元84中的恒定值存储器85中(150)。如上所述,基于视频信号的输入位深值Bi、与变换大小相关联的变换位深值BTR以及与变换大小相关联的变换位精度值Z预先计算与所述多个不同变换大小的一者相关联的恒定值的每一者。举例来说,可预先计算每一恒定值N以满足等式Bi+BTR+N≤Z。

视频解码器30A或30B接着接收待解码的经编码视频信号(152)。在接收到经编码视频信号后,视频解码器30A或30B的LBDI单元84即刻确定待由反向变换单元78应用的固定点反向变换的大小,且基于固定点变换的大小选择存储在恒定值存储器85中的恒定值(154)。

LBDI单元84接着确定内部位深增加(IBDI)是否已应用于视频编码器处的视频信号(156)。在IBDI应用于视频信号的情况下,视频编码器可向视频解码器30A或30B明确发信号通知IBDI的值。如果如来自图5的视频解码器30A的实例中一样尚未应用IBDI(156为否),那么正好在反向变换单元78之前,LBDI单元84向输入到反向变换单元78的变换系数应用左移86等于选定恒定值的位数目(160)。反向变换单元78接着将经左移的变换系数反向变换为残余视频块数据(162)。正好在反向变换单元78之后,LBDI单元84可将偏移应用于从反向变换单元78输出的残余视频块数据(164)。举例来说,LBDI单元84可将等于2N-1的偏移应用于残余视频块数据。LBDI单元84接着向经偏移的残余视频块数据应用右移87等于选定恒定值的位数目(166)。

在一些情况下,额外偏移和右移可连同可变局部位深增加一起应用于变换输出信号。在那些情况下,偏移和右移可组合在一起。举例来说,如果额外偏移具有值2M-1且额外右移具有值M,那么组合偏移可具有等于2M+N-1的值且组合右移可具有等于(M+N)的值。

如果如来自图7的视频解码器30B的实例中一样已应用IBDI(156为是),那么LBDI单元84确定如视频编码器20B明确发信号通知的IBDI的值。LBDI单元84接着基于IBDI的值调整选定的恒定值(158)。在此情况下,针对变换单元52的固定点变换的大小选择的恒定值N将减小IBDI的值Bd,使得经调整恒定值等于N-Bd

LBDI单元84仅可将选定恒定值减小为非负值。举例来说,当IBDI的值小于或等于选定恒定值使得(N-Bd)≥0时,LBDI单元84将选定恒定值减小IBDI的值。如果IBDI的值大于选定恒定值使得(N-Bd)<0,那么LBDI单元84将选定恒定值减小为零。

正好在反向变换单元78之前,LBDI单元84向输入到反向变换单元78的变换系数应用左移106等于经调整恒定值的位数目(160)。反向变换单元78接着将经左移的变换系数变换为残余视频块数据(162)。正好在反向变换单元78之后,LBDI单元84可将偏移应用于从反向变换单元78输出的残余视频块数据(164)。举例来说,LBDI单元84可将等于2N-1的偏移应用于残余视频块数据。LBDI单元84接着向经偏移的残余视频块数据应用右移107等于经调整恒定值的位数目(166)。

在一些情况下,额外偏移和右移可连同可变局部位深增加一起应用于变换输出信号。在那些情况下,偏移和右移可组合在一起。举例来说,如果额外偏移具有值2M-1且额外右移具有值M,那么组合偏移可具有等于2M+N-1的值且组合右移可具有等于(M+N)的值。

LBDI单元84可通过在反向变换单元78处应用可变局部位深增加以提供用于变换的较高位深变换输入信号来减少或消除反向变换单元78的舍入错误。输入到反向变换单元78的变换系数的较高位深较少受用于表示反向变换单元78的反向固定点变换的级联蝶形结构所执行的右移的量破坏。此外,以基于反向变换单元78的固定点反向变换的大小计算的值应用可变局部位深增加更有效地减少归因于应用于变换系数的特定固定点反向变换的反向变换单元78的舍入错误。

以下呈现的表1和表2提供当不应用内部位深增加(IBDI)时在线性变换处应用局部位深增加的初始结果。表1和表2两者提供在应用IBDI时无局部位深增加的情况下以及当不应用IBDI时有局部位深增加的情况下若干视频序列的位速率减小百分比。表1呈现低延迟高效率的结果,即一般化P/B(GPB)配置,且表2呈现随机存取高效率的结果,即层级B配置。局部位深增加的平均位速率减小对于低延迟高效率配置(表1)为1.26%,且对于随机存取高效率配置(表2)为1.03%。

表1

表1.归因于针对低延迟高效率配置的可变局部位深增加的位速率减小[%]

表2

表2.归因于针对随机存取高效率配置的可变局部位深增加的位速率减小[%]

在一个或一个以上实例中,本发明描述的功能或操作可实施在硬件、软件、固件或其任何组合中。如果实施于软件中,那么所述功能或操作可存储在计算机可读媒体上或作为一个或一个以上指令或代码在计算机可读媒体上传输且由基于硬件的处理单元执行。计算机可读媒体可包含:计算机可读存储媒体,其对应于例如数据存储媒体等有形媒体;或通信媒体,其包含促进例如根据通信协议将计算机程序从一处传送到另一处的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非瞬时的有形计算机可读存储媒体或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。

借助实例而非限制,此类计算机可读存储媒体可包括非瞬时媒体,例如RAM、ROM、EEPROM、CD-ROM,或其它光盘存储装置、磁盘存储装置,或其它磁性存储装置、快闪存储器,或可用于存储指令或数据结构形式的所要程序代码且可由计算机存取的任何其它媒体。同样,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波的无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电及微波的无线技术包括于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是改为针对非瞬时有形存储媒体。如本文中所使用,磁盘及光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常磁性地复制数据,而光盘使用激光光学地复制数据。上文的组合也应包括在计算机可读媒体的范围内。

指令可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器执行。因此,如本文中所使用的术语“处理器”可指上述结构中的任一者或适合于实施本文中所描述的技术的任一其它结构。另外,在一些方面中,本文描述的功能性可提供在经配置以用于编码和解码的专门硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。

本发明的技术可实施在广泛种类的装置或设备中,包含无线手持机、集成电路(IC)或IC组(例如,芯片组)。本发明中描述各种组件、模块或单元以强调经配置以执行所揭示的技术的装置的功能方面,而不必要求由不同硬件单元实现。事实上,如上所述,各个单元可组合在编解码器硬件单元中,或由包含如上文描述的一个或一个以上处理器的互操作硬件单元的集合与适宜的软件和/或固件结合而提供。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号