专利名称:使用联合上下文模型对系数进行熵译码的利记博彩app
技术领域:
本发明涉及视频译码,且更明确地说,涉及用于视频译码的熵译码。
背景技术:
数字视频能力可并入到较宽范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置等。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263,ITU-T H.264/MPEG-4,第10部分,高级视频译码(AVC)界定的标准或新兴的高效视频译码(HEVC)标准或此些标准的扩展中所描述的那些技术。视频压缩技术执行空间预测和/或时间预测以减少或去除视频序列中固有的冗余。对于基于块的视频译码,可将视频帧或切片分割成视频块或译码单元(CU)。CU可进一步分割成一个或一个以上预测单元(PU)以确定用于CU的预测视频数据。视频压缩技术还可将CU分割成残余视频块数据的一个或一个以上变换单元(TU),其表示待译码的视频块与预测视频数据之间的差异。可将线性变换(例如二维离散余弦变换(DCT))应用于TU,以将残余视频块数据从像素域变换到频域以实现进一步压缩。在变换之后,TU内的变换系数可经由量化进一步压缩。在量化之后,熵译码单元可应用与TU的大小相关联的Z字形扫描或另一扫描次序以扫描TU中的二维系数阵列,以产生可经熵编码的串行化向量。熵译码单元接着对系数的串行化向量进行熵译码。举例来说,熵译码单元可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)或另一熵译码技术。在上下文自适应熵译码的情况下,熵译码单元可根据与TU的大小相关联的上下文模型为TU内的系数中的每一者选择上下文。接着可基于选定上下文对所述系数进行熵编码。
发明内容
一般来说,本发明描述用于使用在具有不同大小的变换单元之间共享的联合上下文模型执行与残余视频数据块相关联的变换系数的熵编码和解码的技术。举例来说,所述联合上下文模型可在具有第一大小32x32的变换单元与具有第二大小16x16的变换单元之间共享。在一些情况下,两个以上大小的变换单元可共享同一联合上下文模型。作为一个实例,联合上下文模型可为用于变换单元的重要性图的联合上下文模型。在其它实例中,联合上下文模型可与其它译码信息或语法元素相关联。在新兴的高效视频译码(HEVC)标准中,译码单元(⑶)可包含一个或一个以上变换单元(TU),其包含用于变换的残余视频数据。已提出额外变换单元大小(例如,32x32直到128x128)以改进视频译码效率,但也导致增加的存储器和计算要求以维持用于额外变换单元大小中的每一者的上下文模型。使用在具有不同大小的变换单元之间共享的联合上下文模型执行熵译码可减少在视频编码和解码装置上存储上下文和概率所必需的存储器的量,且降低在视频编码和解码装置上维持上下文模型的计算成本。在一些实例中,所述技术还可降低执行二维变换时对较大变换单元大小的中间缓冲要求。在所述情况下,所述技术包含在应用二维变换的每一方向之后,使包含在第一大小的变换单元中的变换系数的较高频率子集归零,即将值设定为零,以产生所保持系数块。在此实例中,用于熵译码的联合上下文模型可在具有第一大小的变换单元与原始具有第二大小的变换单元之间共享,所述具有第一大小的变换单元具有经归零以产生所保持系数块的系数。在一些情况下,所保持系数块可具有等于第二大小的大小。在其它实例中,用于熵译码的联合上下文模型可在具有第一大小的变换单元与具有第二大小的变换单元之间共享。在一个实例中,本发明描述一种解码视频数据的方法,其包括:维持由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型,所述具有第一大小的变换单元具有经归零以产生所保持系数块的系数,其中所述第一大小与所述第二大小是不同的。所述方法还包含根据联合上下文模型为与具有具所保持系数块的第一大小和第二大小中的一者的变换单元相关联的系数选择上下文,以及基于选定上下文根据译码过程来对与所述变换单元相关联的系数进行熵译码。在另一实例中,本发明描述一种视频译码装置,其包括:存储器,其存储由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型,所述具有第一大小的变换单元具有经归零以产生所保持系数块的系数,其中所述第一大小和所述第二大小是不同的。所述视频译码装置进一步包含处理器,其经配置以维持联合上下文模型,根据联合上下文模型为与具有具所保持系数块的第一大小和第二大小中的一者的变换单元相关联的系数选择上下文,且基于选定上下文根据译码过程来对与所述变换单元相关联的系数进行熵译码。在另一实例中,本发明描述一种视频译码装置,其包括:用于维持由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型的装置,所述具有第一大小的变换单元具有经归零以产生所保持系数块的系数,其中所述第一大小和所述第二大小是不同的。所述视频译码装置还包括用于根据联合上下文模型为与具有具所保持系数块的第一大小和第二大小中的一者的变换单元相关联的系数选择上下文的装置,以及用于基于选定上下文根据译码过程来对与所述变换单元相关联的系数进行熵译码的装置。在另一实例中,本发明描述一种计算机可读媒体,其包括用于译码视频数据的指令,所述指令在被执行时致使处理器维持由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型,所述具有第一大小的变换单元具有经归零以产生所保持系数块的系数,其中所述第一大小和所述第二大小是不同的。所述指令还致使所述处理器根据联合上下文模型为与具有具所保持系数块的第一大小和第二大小中的一者的变换单元相关联的系数选择上下文,以及基于选定上下文根据译码过程来对与所述变换单元相关联的系数进行熵译码。在另一实例中,本发明描述一种译码视频数据的方法,其包括维持由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型,其中所述第一大小与所述第二大小是不同的。所述方法还包含根据联合上下文模型为与具有第一大小和第二大小中的一者的变换单元相关联的系数选择上下文,以及基于选定上下文根据译码过程来对所述变换单元的系数进行熵译码。
在额外实例中,本发明描述一种视频译码装置,其包括:存储器,所述存储器存储由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型,其中所述第一大小与所述第二大小是不同的;以及处理器,其经配置以维持所述联合上下文模型,根据所述联合上下文模型为与具有第一大小和第二大小中的一者的变换单元相关联的系数选择上下文,且基于所述选定上下文根据译码过程对变换单元的系数进行熵译码。在另一实例中,本发明描述一种视频译码装置,其包括用于维持由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型的装置,其中所述第一大小与所述第二大小是不同的。所述视频译码装置还包含用于根据联合上下文模型为与具有第一大小和第二大小中的一者的变换单元相关联的系数选择上下文的装置,以及用于基于选定上下文根据译码过程来对所述变换单元的系数进行熵译码的装置。在另一实例中,本发明描述一种计算机可读媒体,其包括用于译码视频数据的指令,所述指令在被执行时致使处理器:维持由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型,其中所述第一大小与所述第二大小是不同的;根据所述联合上下文模型为与具有第一大小和第二大小中的一者的变换单元相关联的系数选择上下文;且基于所述选定上下文根据译码过程对变换单元的系数进行熵译码。
图1是说明可利用使用在具有不同大小的变换单元之间共享的联合上下文模型执行视频系数的熵译码的技术的实例视频编码和解码系统的框图。图2是说明可实施用于使用联合上下文模型对视频系数进行熵编码的技术的实例视频编码器的框图。图3A和3B是分别说明来自具有第一大小的变换单元的具有第二大小的所保持系数块的正方形和矩形区域的概念图。图4是说明可实施用于使用联合上下文模型对视频系数进行熵解码的技术的实例视频解码器的框图。图5是说明经配置以根据联合上下文模型为视频系数选择上下文的实例熵编码单元的框图。图6是说明经配置以根据联合上下文模型为视频系数选择上下文的实例熵解码单元的框图。图7是说明使用在具有第一大小的第一变换单元与具有第二大小的第二变换单元之间共享的联合上下文模型来对视频系数进行熵编码和熵解码的实例操作的流程图。图8是说明使用在具有第一大小的第一变换单元与具有第二大小的第二变换单元之间共享的联合上下文模型来对视频系数进行熵编码和解码的实例操作的流程图,所述具有第一大小的变换单元具有经归零以产生所保持系数块的系数。
具体实施例方式一般来说,本发明描述用于使用在具有不同大小的变换单元之间共享的联合上下文模型执行与残余视频数据块相关联的变换系数的熵编码和解码的技术。举例来说,所述联合上下文模型可在具有第一大小32x32的变换单元与具有第二大小16x16的变换单元之间共享。在新兴的高效视频译码(HEVC)标准中,译码单元(CU)可包含一个或一个以上变换单元(TU),其包含残余视频数据。在变换之前,残余视频数据在空间域中包含残余像素值。在变换之后,残余视频数据在变换域中包含残余变换系数。已提出额外变换单元大小(例如,32x32直到128x128)以改进视频译码效率,但也导致增加的存储器和计算要求以维持用于额外变换单元大小中的每一者的上下文模型。使用在具有不同大小的变换单元之间共享的联合上下文模型执行熵译码可减少在视频编码和解码装置上存储上下文和概率所必需的存储器的量,且降低在视频编码和解码装置上维持上下文模型的计算成本。在一些实例中,所述技术还可降低执行二维变换时对较大变换单元大小的中间缓冲要求。所述技术包含在已应用二维变换的每一方向之后,使包含在第一大小的变换单元中的变换系数的较高频率子集归零,即将值设定为零,以产生所保持系数块。视频编码和解码装置可接着在应用二维变换的每一方向(即,行和列)之间缓冲减少数目的系数。当较高频率系数从具有第一大小的变换单元归零时,包含在所保持系数块中的系数具有与包含在原始具有第二大小的变换单元中的系数类似的概率统计。在此情况下,用于熵译码的联合上下文模型可在具有第一大小的变换单元与原始具有第二大小的变换单元之间共享,所述具有第一大小的变换单元具有经归零以产生所保持系数块的系数。在一些情况下,所保持系数块可具有等于第二大小的大小。在其它情况下,所保持系数块可具有等于第三大小的大小,所述第三大小不同于第一大小和第二大小两者。在其它实例中,包含在具有第一大小的第一变换单元中的系数可具有与包含在第二大小的第二变换单元中的系数类似的概率统计,即使在不使第一变换单元内的较高频率系数归零的情况下也是如此。这是可能的,因为较高频率系数可表示残余视频数据很少,以致对用于熵译码的相邻系数的概率统计的影响是可忽略的。在此情况下,用于熵译码的联合上下文模型可在具有第一大小的变换单元与具有第二大小的变换单元之间共享。图1是说明可利用使用在具有不同大小的变换单元之间共享的联合上下文模型执行视频系数的熵译码的技术的实例视频编码和解码系统的框图。如图1中所示,系统10包含源装置12,其可存储经编码视频,且/或经由通信信道16将经编码视频发射到目的地装置14。源装置12和目的地装置14可能不一定参与彼此的实时活动通信。在一些情况下,源装置12可将经编码视频数据存储到存储媒体,目的地装置14可在需要时经由磁盘存取来存取所述存储媒体,或源装置12可将经编码视频数据存储到目的地装置14可在需要时经由流式传输来存取的文件服务器。源装置12及目的地装置14可包括各种各样的装置中的任一者。在一些情况下,源装置12和目的地装置14可包括无线通信装置,其可经由通信信道16传送视频信息,在此情况下,通信信道16是无线的。然而,涉及使用联合上下文模型来对视频系数进行熵译码的本发明的技术不一定限于无线应用或设定。举例来说,这些技术可适用于空中电视广播、有线电视发射、卫星电视发射、因特网视频发射、编码到存储媒体上的经编码的数字视频,或其它情况。因此,通信信道16可包括适合发射经编码视频数据的无线或有线媒体的任何组合,且装置12、14可包括多种有线或无线媒体装置中的任一者,例如移动电话、智能电话、数字媒体播放器、机顶盒、电视机、显示器、桌上型计算机、便携式计算机、平板计算机、游戏控制台、便携式游戏装置等。在图1的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器(调制解调器)22以及发射器24。目的地装置14包含接收器26、调制解调器28、视频解码器30以及显示装置32。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18 (例如外部相机、视频存储档案、计算机图形源等)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而不是包含集成显示装置。图1所说明的系统10仅为一个实例。在其它实例中,任何数字视频编码和/或解码装置可执行用于使用联合上下文模型来对视频系数进行熵译码的所揭示技术。所述技术还可由视频编码器/解码器(通常称为“CODEC”)来执行。此外,本发明的技术还可由视频预处理器执行。源装置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可包含经设计以用于发射数据的电路,包含放大器、滤波器及一个或一个以上天线。根据本发明,源装置12的视频编码器20可经配置以应用用于使用联合上下文模型来对视频系数进行熵编码的技术。待编码的视频帧的译码单元(CU)可包含一个或一个以上变换单元(TU),其包含残余视频数据。在变换之前,残余视频数据在空间域中包含残余像素值。在变换之后,残余视频数据在变换域中包含残余变换系数。视频编码器20可维持在具有不同大小的变换单元之间共享的联合上下文模型,且根据所述联合上下文模型为与所述变换单元中的一者相关联的系数选择上下文。视频编码器20可接着基于选定上下文对系数进行熵编码。举例来说,所述联合上下文模型可在具有第一大小32x32的变换单元与具有第二大小16x16的变换单元之间共享。在其它实例中,两个以上大小的变换单元可共享同一联合上下文模型。另外,两个或两个以上大小的变换单元可共享用于TU的上下文模型中的一些或全部。在一种情况下,联合上下文模型可为用于TU的重要性图的联合上下文模型。在其它情况下,联合上下文模型可与其它译码信息或语法元素相关联。因此,所述技术可减少将上下文和概率存储在视频编码器20上所必需的存储器的量,且降低维持视频编码器20上的上下文模型的计算成本。在一个实例中,在应用二维变换的每一方向之后,视频编码器20可使包含在第一大小的变换单元中的变换系数的较高频率子集归零,即将值设定为零,以产生所保持系数块。在此情况下,所述技术可减少将在应用二维变换的每一方向(即,行和列)之间缓冲的系数的数目。当高频率系数从变换单元归零时,包含在所保持系数块中的系数具有与包含在原始具有第二大小的变换单元中的系数类似的概率统计。在此实例中,视频编码器20可维持由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型,所述具有第一大小的变换单元具有经归零以产生所保持系数块的系数,且视频编码器20可根据所述联合上下文模型为具有所保持系数块的第一大小以及第二大小中的一者的变换单元的系数选择上下文。在一些情况下,所保持系数块可具有等于第二大小的大小。在其它情况下,所保持系数块可具有等于第三大小的大小,所述第三大小不同于第一大小和第二大小两者。在另一实例中,包含在具有第一大小的第一变换单元中的系数可具有与包含在具有第二大小的第二变换单元中的系数类似的概率统计,即使在不使第一变换单元内的高频率系数归零的情况下也是如此。这是可能的,因为高频率系数可表示残余视频数据很少,以致对用于熵译码的相邻系数的概率统计的影响是可忽略的。在此实例中,视频编码器20可维持由具有第一大小和第二大小的变换单元共享的联合上下文模型,且根据所述联合上下文模型为具有第一和第二大小中的一者的变换单元内的系数选择上下文。在一些情况下,仅第一大小和第二大小的变换单元内的高频率系数可共享联合上下文模型。第一大小的变换内的低频率系数(例如,DC分量和相邻系数)可使用与第二大小的变换内的低频率系数不同的上下文模型。目的地装置14的接收器26经由信道16接收信息,且调制解调器28对所述信息进行解调。经由信道16传送的信息可包含由视频编码器20界定的语法信息,其也由视频解码器30使用,所述语法信息包含语法元素,其描述经译码视频的译码单元(CU)、预测单元(PU)、变换单元(TU)或其它单元(例如,视频切片、视频帧以及视频序列或图片群组(GOP))的特性和/或处理。显示装置32向用户显示经解码的视频数据,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。根据本发明,目的地装置14的视频解码器30可经配置以应用用于使用联合上下文模型来对视频系数进行熵解码的技术。待解码的视频帧的CU可包含一个或一个以上TU,其包含变换之前和之后的残余视频数据。视频解码器30可维持在具有不同大小的变换单元之间共享的联合上下文模型,且根据所述联合上下文模型为与所述变换单元中的一者相关联的系数选择上下文。视频解码器30可接着基于选定上下文对系数进行熵解码。举例来说,所述联合上下文模型可在具有第一大小32x32的变换单元与具有第二大小16x16的变换单元之间共享。如上文所述,在其它实例中,两个以上大小的变换单元可共享同一联合上下文模型。另外,两个或两个以上大小的变换单元可共享用于TU的上下文模型中的一些或全部。在一种情况下,联合上下文模型可为用于TU的重要性图的联合上下文模型。在其它情况下,联合上下文模型可与其它译码信息或语法元素相关联。因此,所述技术可减少将上下文和概率存储在视频解码器30上所必需的存储器的量,且降低维持视频解码器30上的上下文模型的计算成本。在一个实例中,视频解码器30可接收表示与所保持系数块相关联的经编码系数以及来自具有第一大小的变换单元的经归零系数的位流。当高频率系数从变换单元归零时,包含在所保持系数块中的系数具有与包含在原始具有第二大小的变换单元中的系数类似的概率统计。在此实例中,视频解码器30可维持由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型,所述具有第一大小的变换单元具有经归零以产生所保持系数块的系数,且视频解码器30可根据所述联合上下文模型为与具有所保持系数块的第一大小以及第二大小中的一者的变换单元相关联的经编码系数选择上下文。在一些情况下,所保持系数块可具有等于第二大小的大小。在其它情况下,所保持系数块可具有等于第三大小的大小,所述第三大小不同于第一大小和第二大小两者。在另一实例中,视频解码器30可接收表示与具有第一大小和第二大小中的一者的变换单元相关联的经编码系数的位流。包含在具有第一大小的第一变换单元中的系数可具有与包含在第二大小的第二变换单元中的系数类似的概率统计,即使在不使第一变换单元内的较高频率系数归零的情况下也是如此。在此实例中,视频解码器30可维持由具有第一大小和第二大小的变换单元共享的联合上下文模型,且根据所述联合上下文模型为与具有第一和第二大小中的一者的变换单元相关联的经编码系数选择上下文。在一些情况下,仅第一大小和第二大小的变换单元内的高频率系数可共享联合上下文模型。第一大小的变换内的低频率系数(例如,DC分量和相邻系数)可使用与第二大小的变换内的低频率系数不同的上下文模型。在图1的实例中,通信信道16可包括任何无线或有线通信媒体,例如,射频(RF)频谱或一个或一个以上物理传输线、或无线和有线媒体的任何组合。通信信道16可形成例如局域网、广域网或例如因特网的全球网络等基于包的网络的部分。通信信道16大体表示用于将视频数据从源装置12发射到目的地装置14的任何合适的通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适组合。通信信道16可包含可用于促进从源装置12到目的地装置14的通信的路由器、交换器、基站或任何其它设备。如上文所述,在一些情况下,源装置12和目的地装置14可不参与经由通信信道16的实时活动通信。举例来说,源装置12可代替地将经编码视频数据存储到存储媒体,目的地装置14可在需要时经由磁盘存取来存取所述存储媒体,或源装置12将经编码视频数据存储到目的地装置14在需要时可经由流式传输来存取的文件服务器。视频编码器20和视频解码器30可根据视频压缩标准来操作,例如新兴的高效视频译码(HEVC)标准或ITU-T H.264标准,或者称为MPEG-4,第10部分,高级视频译码(AVC)。然而,本发明的技术不限于任何特定译码标准。其它实例包含MPEG-2和ITU-TH.263。尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件及软件,以处置对共用数据流或单独数据流中的音频与视频两者的编码。如果适用,MUX-DEMUX单元可符合ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。HEVC标准化努力是基于视频译码装置的模型,称为HEVC测试模型(HM)。HM假定视频译码装置相对于根据例如ITU-T H.264/AVC的现存装置的若干额外能力。HM将视频数据块称为译码单元(CU)。位流中的语法数据可界定最大译码单元(LCU),其为依据像素数据的最大译码单元。一般来说,CU具有与H.264标准的宏块类似的目的,只是CU不具有大小差别。因此,CU可分割为若干子CU。一般来说,本发明中对CU的参考可指代图片的最大译码单元或IXU的子⑶。可将IXU分割为若干子⑶,且每一子⑶可进一步分割为若干子CU。用于位流的语法数据可界定LCU可分割的最大次数,称为CU深度。因此,位流还可界定最小译码单元(SCT)。不进一步分割的⑶(即IXU的叶节点)可包含一个或一个以上预测单元(PU)。一般来说,PU表示对应CU的全部或一部分,且包含用于检索PU的参考样本的数据。举例来说,当PU经帧内模式编码时,可包含描述的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含界定的运动向量的数据。界定运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,二分之一像素精度、四分之一像素精度或八分之一像素精度)、运动向量指向的参考帧,和/或运动向量的参考帧列表(例如,列表O或列表I)。界定PU的CU的数据还可描述(例如)将CU分割为一个或一个以上PU。分割模式可在CU是被跳过或直接模式编码、经帧内预测模式编码还是经帧间预测模式编码之间不同。具有一个或一个以上I3U的⑶还可包含一个或一个以上变换单元(TU)。在使用PU的预测后,视频编码器可计算CU的对应于的部分的残余值。包含在TU中的残余值对应于像素差值,其可变换为变换系数,接着经量化,且经扫描以产生经串行化变换系数以用于熵译码。TU不一定限于PU的大小。因此,TU可大于或小于同一⑶的对应PU。在一些实例中,TU的最大大小可为对应CU的大小。本发明使用术语“视频块”来指代CU、PU或TU中的任一者。视频编码器20和视频解码器30各自可实施为多种合适编码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,视频编码器20和视频解码器30中的任一者可作为组合式编码器/解码器(CODEC)的一部分而集成于相应相机、计算机、移动装置、订户装置、广播装置、机顶盒、服务器等中。视频序列或图片群组(GOP)通常包含一系列视频帧。GOP可在GOP的标头、GOP的一个或一个以上帧的标头或其它地方中包含语法数据,其描述包含于GOP中的帧的数目。每一帧可包含帧语法数据,其描述相应帧的编码模式。视频编码器20通常对个别视频帧内的视频块进行操作以便对视频数据进行编码。视频块可对应于CU或CU的PU。视频块可具有固定或不同大小,且其大小可根据指定译码标准而不同。每一视频帧可包含多个切片。每一切片可包含多个⑶,其可包含一个或一个以上PU。举例来说,HEVC测试模型(HM)支持各种⑶大小的预测。IXU的大小可由语法信息界定。假定特定⑶的大小为2Nx2N,HM支持2Nx2N或NxN大小的帧内预测,以及2Nx2N、2NxN、Nx2N或NxN对称大小的帧间预测。HM还支持2NxnU、2NxnD、nLx2N和nRx2N的帧间预测的不对称分割。在不对称分割中,CU的一个方向不分割,而另一方向分割成25 %和75 %。⑶的对应于25%分割的部分由“η”后接“上”、“下”、“左”或“右”的指示来指示。因此,例如,“2NxnU”指代水平分割的2Nx2N CU,其中2ΝχΟ.5Ν PU在顶部,且2Nxl.5Ν PU在底部。在本发明中,“ΝχΝ”与“N乘N”可互换使用,以指代依据垂直和水平尺寸的视频块(例如,⑶、PU或TU)的像素尺寸,例如16x16像素或16乘16像素。16x16块将在垂直方向上具有16个像素(y = 16),且在水平方向上具有16个像素(x = 16)。同样地,NxN块在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。一块中的像素可布置成若干行和若干列。此外,块无需必定在水平方向上与在垂直方向上具有相同数目的像素。举例来说,块可包括具有NxM像素的矩形区域,其中M不一定等于N。在用以产生CU的PU的帧内预测或帧间预测译码之后,视频编码器20可计算残余数据以产生⑶的一个或一个以上TU。残余数据可对应于未经编码图片的像素与⑶的的预测值之间的像素差。视频编码器20可形成一个或一个以上TU,包含用于⑶的残余数据。视频编码器20可接着变换所述TU。在应用变换(例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)之前,CU的TU可包括残余视频数据,其在像素域中包括像素差值。在应用变换之后,TU可包括表示频域中的残余视频数据的变换系数。在任何变换以产生变换系数后,可执行变换系数的量化。量化一般指代将变换系数量化以可能地减少用于表示系数的数据量的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,在量化期间,可将η位值向下舍入到m位值,其中η大于m。视频编码器20可应用与TU的大小相关联的Z字形扫描、水平扫描、垂直扫描或另一扫描次序来扫描经量化变换系数,以产生可熵编码的串行化向量。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化变换系数。在其它实例中,视频编码器20可执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)或另一熵编码方法来对一维向量进行熵编码。为了执行上下文自适应熵译码,视频编码器20必须根据上下文模型将上下文指派给每一系数,所述模型可与(例如)相邻系数的值是否为非零有关。视频编码器20接着确定与上下文模型中的所指派上下文相关联的系数的译码过程。按照惯例,视频编码器20必须为由所实施视频压缩标准支持的TU的不同大小中的每一者维持单独的上下文模型。对于HEVC标准,已提出额外变换单元大小(例如,32x32直到128x128)以改进视频译码效率,但额外TU大小也导致增加的存储器和计算要求以维持用于额外变换单元大小中的每一者的上下文模型。根据本发明的技术,为了执行上下文自适应熵译码,视频编码器20可根据在不同大小的TU之间共享的联合上下文模型为系数选择上下文。更具体地说,视频编码器20可基于TU的先前经编码相邻系数的值将联合上下文模型中的上下文指派给TU的给定系数。基于由TU所共享的联合上下文模型界定的准则来选择所指派上下文。视频编码器20可确定与联合上下文模型中的所指派上下文相关联的系数的译码过程。视频编码器20接着基于所确定的概率估计对系数进行熵编码。举例来说,在CABAC的情况下,视频编码器20可确定与联合上下文模型中的所指派上下文相关联的系数的值(例如O或I)的概率估计。视频编码器20接着基于所述系数的实际经译码值来更新与联合上下文模型中的所指派上下文相关联的概率估计。举例来说,视频编码器20可使用同一联合上下文模型为与原始具有第一大小的第一变换单元内的所保持系数块或原始具有第二大小的第二变换单元相关联的系数选择上下文。另外,视频编码器20可基于原始具有第一大小的第一变换单元内的所保持系数块或原始具有第二大小的第二变换单元的系数的实际经译码值来更新与联合上下文模型中的选定上下文相关联的概率估计。作为另一实例,视频编码器20可使用同一联合上下文模型为与具有第一大小的第一变换单元或具有第二大小的第二变换单元相关联的系数选择上下文。在此情况下,视频编码器20可接着基于第一大小的第一变换单元或第二大小的第二变换单元的系数的实际经译码值来更新与联合上下文模型中的选定上下文相关联的概率估计。在任一情况下,在两个或两个以上大小的变换单元之间共享联合上下文模型可减少将上下文和概率存储在视频编码器20上所必需的存储器的量。另外,共享联合上下文模型还可降低维持视频编码器20上的上下文模型(包含在视频切片的开始处使所有上下文模型复位)的计算成本。视频编码器20还可对指示预测信息的语法元素进行熵编码。举例来说,视频编码器20可对指示视频块信息的语法元素进行熵编码,所述信息包含CU、PU和TU的大小、用于帧内模式预测的运动向量信息以及重要系数图信息,即对于CABAC指示重要系数的位置的若干一和若干零的图。视频解码器30可以基本上与视频编码器20的操作方式对称的方式操作。图2是说明可实施用于使用联合上下文模型对视频系数进行熵编码的技术的实例视频编码器的框图。视频编码器20可执行视频帧内的译码单元的帧内和帧间译码。帧内译码依靠空间预测来减少或去除给定视频帧内的视频中的空间冗余。帧间译码依靠时间预测来减少或去除视频序列的邻近帧内的视频中的时间冗余。帧内模式(I模式)可涉及若干基于空间的压缩模式中的任一者。例如单向预测(P模式)、双向预测(B模式)或一般化P/B预测(GPB模式)等帧间模式可涉及若干基于时间的压缩模式中的任一者。在图2的实例中,视频编码器20包含模式选择单元38、预测单元40、求和单元50、变换单元52、量化单元54、熵编码单元56以及参考帧存储器64。预测单元40包含运动估计单元42、运动补偿单元44以及帧内预测单元46。对于视频块重构,视频编码器20还包含逆量化单元58、逆变换单元60以及求和单元62。还可包含去块滤波器或其它环内滤波器(例如自适应环路滤波器(ALF)和样本自适应偏移(SAO)(图2中未展示)),以对块边界进行滤波以去除来自经重构视频的成块假象。在需要时,去块滤波器通常将对求和器62的输出进行滤波。如图2中所示,视频编码器20接收待编码视频帧或切片内的视频块。可将帧或切片分为多个视频块或CU。模式选择单元38可基于误差结果为视频块选择译码模式中的一者,帧内或帧间。预测单元40接着将所得经帧内或帧间译码的预测块提供给求和单元50以产生残余块数据,且提供给求和单元62以重构经编码块以供用作参考帧中的参考块。预测单元40内的帧内预测单元46相对于与待译码视频块在同一帧中的一个或一个以上相邻块执行对所述视频块的帧内预测译码。预测单元40内的运动估计单元42和运动补偿单元44相对于存储在参考帧存储器64中的一个或一个以上参考帧中的一个或一个以上参考块执行视频块的帧间预测译码。运动估计单元42与运动补偿单元44可高度集成,但出于概念上的目的而分开予以说明。由运动估计单元42执行的运动估计是产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可指示当前视频帧内的视频块或PU相对于参考巾贞内的参考块或PU的移位。参考块是所找到的依据像素差与待译码的视频块或PU接近匹配的块,像素差可由绝对差和(SAD)、平方差和(SSD)或其它差度量确定。运动估计单元42将所计算的运动向量发送到运动补偿单元44。由运动补偿单元44执行的运动补偿可涉及基于由运动估计确定的运动向量来取或产生预测块。视频编码器20通过将预测块从正译码的视频块减去来形成残余视频块。求和单元50表示执行此减法运算的组件。运动补偿单元44可产生语法元素,其经定义以表示视频序列级、视频帧级、视频切片级、视频CU级或视频PU级中的一者或一者以上处的预测信息。举例来说,运动补偿单元44可产生语法元素,其指示视频块信息,包含CU、PU和TU的大小,以及用于帧内模式预测的运动向量信息。在视频编码器20通过将预测块从当前视频块减去而形成残余视频块之后,变换单元52可从残余块形成一个或一个以上TU。变换单元52对TU应用变换(例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换),以产生包括残余变换系数的视频块。所述变换可将残余块从像素域转换到变换域,例如频域。更具体地说,在应用变换之前,TU可在像素域中包括残余视频数据,且在应用变换之后,TU可在频域中包括表示所述残余视频数据的变换系数。在一些实例中,变换单元52可包括二维可分离变换。变换单元52可通过首先将一维变换应用于TU内的残余视频数据的行(即在第一方向上)且接着将一维变换应用于TU内的残余视频数据的列(即在第二方向上)或反之亦然,来将二维变换应用于TU。举例来说,TU可包括32X32TU。变换单元52可首先将32点一维变换应用于TU中的像素数据的每一行以产生中间变换系数的32x32TU,且其次将32点一维变换应用于TU中的中间变换系数的每一列以产生变换系数的32x32TU。在于第一方向上将一维变换应用于TU中的残余视频数据之后,视频编码器20缓冲中间变换系数以在第二方向上应用一维变换。如上文所述,在HEVC标准中,已提出较大变换单元大小(例如,32x32直到128x128)以改进视频译码效率。然而,较大TU大小也将导致对二维变换的增加的中间缓冲要求。举例来说,在32x32TU的情况下,视频编码器20在第一方向上的一维变换之后将必须缓冲1024个中间变换系数。为了降低对较大TU大小的中间缓冲要求,本发明中所描述的技术包含在已应用二维变换的每一方向之后使包含在第一大小的TU中的变换系数的高频率子集归零。以此方式,变换单元52可在具有小于TU的第一大小的第二大小的TU内产生所保持系数块。归零的过程包括将TU内的变换系数子集的值设定为等于零。不计算或丢弃归零的变换系数;代替地,归零的变换系数被简单地设定为等于零,且不具有要存储或编码的值。根据本发明,归零的变换系数通常为相对于TU中所保持的较低频率变换系数的较高频率变换系数。高频率变换系数表示正常对应于待编码视频块与预测块之间的非常小的像素差的残余视频数据。因此,高频率变换系数可含有很少的残余视频数据,以致将值设定为等于零对经解码视频质量具有可忽略的影响。举例来说,变换单元52可在第一方向上(例如,逐行)将一维变换应用于32x32TU中的残余视频数据,且使从所述变换输出的中间变换系数的一半归零。视频编码器20接着仅需要缓冲中间变换系数的所保持的一半。变换单元52可接着在第二方向上(例如,逐列)将一维变换应用于32x32TU中的所保持中间变换系数,且再次使从所述变换输出的所保持变换系数的一半归零。以此方式,变换单元52可产生原始大小为32x32的TU内具有大小16x16的重要系数的所保持系数块。
在上文所述的实例中,变换单元52经配置以产生16x16所保持系数块,即TU的原始大小的四分之一。在其它情况下,变换单元52可经配置以通过依据对译码过程的译码复杂性要求使较大或较小百分比的系数归零来产生具有不同大小的所保持系数块。此外,在一些情况下,变换单元52可经配置以产生具有矩形区域的所保持系数块。在此情况下,所述技术通过首先在矩形区域的较短边(即,较少所保持变换系数)的方向上应用一维变换来提供中间缓冲要求的进一步降低。以此方式,在于矩形区域的较长边的方向上应用一维变换之前,视频编码器20可缓冲少于中间变换系数的一半。相对于图3A和3B更详细地描述正方形和矩形区域所保持系数块两者的归零过程。变换单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步减小位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。熵编码单元56或量化单元54可接着执行对包含经量化变换系数的TU的扫描。熵编码单元56可应用与TU的大小相关联的Z字形扫描或另一扫描次序来扫描经量化变换系数,以产生可熵编码的串行化向量。在一个实例中,其中原始为第一大小的TU的系数已归零以产生具有第二大小的所保持系数块,熵编码单元56可使用第二大小的TU的扫描次序来扫描所保持系数。在此情况下,熵编码单元56可将16x16扫描次序应用于原始大小为32x32的TU内具有大小16x16的所保持系数块。在另一实例中,其中原始为第一大小的TU的系数已归零以产生具有第二大小的所保持系数块,熵编码单元56可使用第一大小的TU的扫描次序来扫描所保持系数,所述第一大小已经修改以跳过TU的不包含在所保持系数块中的系数。在此情况下,熵编码单元可通过跳过原始大小为32x32的TU内的所有归零系数,来将32x32扫描次序应用于具有大小16x16的所保持系数块。在扫描经量化变换系数以形成一维向量之后,熵编码单元56对经量化变换系数的向量进行熵译码。举例来说,熵编码单元56可执行上下文自适应熵译码,例如CABAC、CAVLC或另一熵译码技术。在由熵编码单元56进行熵编码之后,可将经编码位流发射到视频解码器(例如,视频解码器30),或存档以供以后发射或检索。为了执行上下文自适应熵译码,熵编码单元56根据上下文模型将上下文指派给每一系数,所述模型可与(例如)相邻系数的值是否为非零有关。熵编码单元56还确定与上下文模型中的所指派上下文相关联的系数的译码过程。熵编码单元56接着基于所指派的上下文对系数进行熵编码。举例来说,在CABAC的情况下,熵编码单元56可确定与联合上下文模型中的所指派上下文相关联的系数的值(例如O或I)的概率估计。熵编码单元56接着基于所述系数的实际经编码值来更新与上下文模型中的所指派上下文相关联的概率估计。按照惯例,视频编码器20为由所实施视频压缩标准支持的TU的不同大小中的每一者维持单独的上下文模型。对于HEVC标准,已提出额外变换单元大小(例如,32x32直到128x128)以改进视频译码效率,但额外TU大小也导致增加的存储器和计算要求以维持用于额外变换单元大小中的每一者的上下文模型。在一些情况下,较大TU大小可使用较多上下文,这可导致增加的存储器和计算要求以对于较大TU大小维持增加数目的上下文。根据本发明的技术,熵编码单元56可经配置以使用在具有不同大小的变换单元之间共享的联合上下文模型来执行视频系数的熵编码。大部分相对于CABAC的熵编码技术来描述所述技术。然而,在一些情况下,所述技术还可应用于其它上下文自适应熵译码技术。在两个或两个以上大小的变换单元之间共享联合上下文模型可减少将上下文和概率存储在视频编码器20上所必需的存储器的量。另外,共享联合上下文模型还可降低维持视频编码器20上的上下文模型(包含在视频切片的开始处使所有上下文模型复位)的计算成本。在CABAC的情况下,所述技术还可基于系数的实际经译码值而降低连续更新上下文模型的概率估计的计算成本。根据本发明,熵编码单元56可维持在具有不同大小的变换单元之间共享的联合上下文模型,且根据所述联合上下文模型为与所述变换单元中的一者相关联的系数选择上下文。熵编码单元56可接着基于选定上下文来对变换单元内的重要系数进行熵编码。举例来说,所述联合上下文模型可在具有第一大小32x32的变换单元与具有第二大小16x16的变换单元之间共享。在一些情况下,两个以上大小的变换单元可共享同一联合上下文模型。在一个实例中,联合上下文模型可为用于变换单元的重要性图的联合上下文模型。在其它实例中,联合上下文模型可与其它译码信息或语法元素相关联。相对于图5更详细地描述使用联合上下文模型的CABAC编码过程。在一个实例中,熵编码单元56可维持由具有第一大小的TU与原始具有第二大小的TU共享的联合上下文模型,所述具有第一大小的TU具有经归零以产生所保持系数块的系数。在一些情况下,所保持系数块可具有等于第二大小的大小。举例来说,当高频率系数从第一大小的TU归零时,包含在第二大小的所保持系数块中的系数具有与包含在原始具有第二大小的TU中的系数类似的概率统计。在此情况下,当已通过使原始具有第一大小的TU的系数归零而产生第二大小的所保持系数块时,熵编码单元56可根据联合上下文模型为所保持系数块的系数选择上下文。熵编码单元56接着基于选定上下文来对所保持系数块内的重要系数进行熵编码。在CABAC的情况下,熵编码单元56还基于系数的实际经译码值来更新与联合上下文模型中的选定上下文相关联的概率估计。在另一实例中,熵编码单元56可维持由具有第一大小的第一 TU与具有第二大小的第二 TU共享的联合上下文模型。在一些情况下,包含在具有第一大小的第一 TU中的系数可具有与包含在具有第二大小的第二 TU中的系数类似的概率统计,即使在不使第一 TU内的高频率系数归零的情况下也是如此。这是可能的,因为高频率系数可表示残余视频数据很少,以致对用于熵译码的相邻系数的概率统计的影响是可忽略的。在此实例中,熵编码单元56可根据联合上下文模型为具有第一和第二大小中的一者的TU内的系数选择上下文。熵编码单元56接着基于选定上下文来对TU内的重要系数进行熵编码。在CABAC的情况下,熵编码单元56可接着基于系数的实际经译码值来更新与联合上下文模型中的选定上下文相关联的概率估计。熵编码单元56还可对指示运动向量的语法元素以及用于正译码的视频块的其它预测信息进行熵编码。举例来说,熵编码单元56可使用本发明中所描述的技术对指示重要性图(即指示重要系数在TU中的位置的若干一和若干零的图)的语法元素进行熵编码。熵编码单元56还可构造标头信息,其包含由运动补偿单元44产生的适当语法元素以在经编码位流中发射。视频编码器20可对语法元素进行熵编码,语法元素指示视频块信息,包含CU、PU和TU的大小,以及用于帧内模式预测的运动向量信息。为了对语法元素进行熵编码,熵编码单元56可通过将语法元素二值化为一个或一个以上二进制位并根据上下文模型为每一二进制位选择上下文来执行CABAC。逆量化单元58和逆变换单元60分别应用逆量化和逆变换,以在像素域中重构残余块,以供稍后用作参考帧的参考块。求和单元62将所重构的残余块与由运动补偿单元44产生的预测块相加以产生参考块,以存储在参考巾贞存储器64中。参考块可由运动估计单元42和运动补偿单元44用作用以对后续视频帧中的块进行帧间预测的参考块。图3A和3B是分别说明具有第一大小的变换单元内的具有第二大小的所保持系数块的正方形和矩形区域的概念图。在图3A和3B的概念说明中,不同框表示在应用变换之后TU内的变换系数。影线标记区域内的系数包括所保持变换系数,且未包含在影线标记区域内(即,白色或阴影框)的系数包括在二维变换期间已归零的系数。如上文所述,本发明的技术通过使在每一方向的二维变换之后包含在第一大小的TU中的变换系数的高频率子集归零来降低对较大TU大小(例如32x32直到128x128)的中间缓冲要求。以此方式,来自图2的变换单元52可在TU内产生具有小于TU的第一大小的第二大小的所保持系数块。归零的过程包括将TU内的变换系数子集的值设定为等于零。不计算或丢弃归零的变换系数;代替地,归零的变换系数被简单地设定为等于零,且不具有要存储或编码的值。根据本发明,归零的变换系数通常为相对于TU中所保持变换系数的高频率变换系数。高频率变换系数表示对应于待编码视频块与预测块之间的非常小的像素差的残余视频数据。因此,高频率变换系数可含有很少的残余视频数据,以致将值设定为等于零对经解码视频质量具有可忽略的影响。图3A说明具有第一大小16x16的TU70以及TU70内具有第二大小8x8的最终正方形区域的所保持系数块74。可基于对译码过程的译码复杂性要求来选择所保持系数块74的大小和形状。在此实例中,来自图2的变换单元52可经配置以产生原始具有大小16x16的TU70内具有大小为8x8的正方形区域的所保持系数块74。为了产生所保持系数块74,变换单元52可在应用二维变换的每一方向(即行和列)之后使较高频率系数的一半归零。在其它情况下,变换单元52可经配置以依据对译码过程的译码复杂性要求使系数的较大或较小子集归零。首先,变换单元52可将一维变换应用于TU70中的残余视频数据的行,且使从所述变换输出的中间变换系数的子集(在此情况下为一半)归零。在图3A的所说明实例中,所保持的中间变换系数包含于所保持中间系数块73(即,TU70中的阴影块)中,其具有等于TU70的原始16x16大小的一半的16x8的矩形区域。归零的子集(即,TU70中的白色块)可包含具有高于TU70的所保持中间系数块73内的系数的频率值的系数。在所说明的实例中,变换单元52使TU70的每一行中具有8个最高频率值的系数的一半归零。此归零过程产生TU70内具有16x8的矩形区域的所保持中间系数块73。在其它实例中,所保持中间系数块73的区域可包括不同的大小或形状。变换单元52可使16xl6TU70中的所有系数之中具有最高频率值的系数的一半归零。此归零过程可得出TU70的左上角中具有三角形区域的所保持中间系数块。通过使从第一方向上的变换输出的中间变换系数的一半归零,视频编码器20在于第二方向上应用变换之前仅需要缓冲所保持中间系数块73内的系数。经归零子集(即,TU70中的白色块)内的系数不具有要存储、变换或编码的值。以此方式,所述技术可降低执行二维变换时的中间缓冲要求。这对已提出用于HEVC标准的较大变换单元大小(例如32x32直到128x128)可能尤其有用。在缓冲之后,变换单元52可接着将一维变换应用于所保持中间系数块73中的所保持中间变换系数的列,且使从所述变换输出的变换系数的子集(在此情况下为一半)归零。在图3A的所说明实例中,所保持的变换系数包含在所保持系数块74(即,TU70中的影线标记块)中,其具有等于TU70的原始16x16大小的四分之一的大小8x8的正方形区域。归零的子集(即,所保持中间系数块73中的无影线标记正方形)可包含具有高于TU70的所保持系数块74内的系数的频率值的系数。在所说明的实例中,变换单元52使所保持中间系数块73的每一列中具有8个最高频率值的系数的一半归零。在其它实例中,变换单元52可使16x8所保持中间系数块73中的所有系数之中具有最高频率值的系数的一半归零。在任一情况下,归零过程产生TU70内具有8x8正方形区域的所保持系数块74。图3B说明具有第一大小16x16的TU76以及TU76内具有第二大小4x16的最终矩形区域的所保持系数块78。可基于对译码过程的译码复杂性要求来选择所保持系数块78的大小和形状。更具体地说,可基于用于所保持系数块78的帧内译码模式、扫描模式和最后一个重要系数的位置中的至少一者来选择所保持系数块78的最终矩形区域。在图3B的所说明实例中,变换单元52可经配置以产生原始具有大小16x16的TU76内具有大小为4x16的矩形区域的所保持系数块78。变换单元52可首先在所保持系数块78的最终矩形区域的最短边(例如,列)的方向上应用于TU76。为了产生所保持系数块78,变换单元52可在于第一方向(例如列)上应用二维变换之后使所述系数中的四分之三归零。在其它情况下,变换单元52可经配置以依据对译码过程的译码复杂性要求使系数的较大或较小子集归零。当为所保持系数块选择矩形区域时,所述技术可通过在矩形区域的较短边(即,较少所保持变换系数)的方向上应用一维变换来提供中间缓冲要求的进一步降低。以此方式,在于矩形区域的较长边的方向上应用一维变换之前,视频编码器20可缓冲少于中间变换系数的一半。在图3B的所说明实例中,所保持系数块78的最终矩形区域的高度(H)小于矩形区域的宽度(W),因此将在垂直方向上保持较少的中间变换系数。因此,变换单元52可首先将变换应用于TU76的列,使得视频编码器20可在将变换应用于TU76的行之前缓冲少于中间变换系数的一半(在此情况下为四分之一)。更具体地说,变换单元52可将一维变换应用于TU76中的残余视频数据的列,且使从所述变换输出的中间变换系数的子集(在此情况下为四分之三)归零。在图3B的所说明实例中,所保持的中间变换系数包含于所保持中间系数块77(即,TU76中的阴影块)中,其具有等于TU76的原始16x16大小的四分之一的4x16的矩形区域。归零的子集(即,TU76中的白色块)可包含具有高于TU76的所保持中间系数块77内的系数的频率值的系数。在所说明的实例中,变换单元52使TU76的每一列中具有12个最高频率值的系数中的四分之三归零。此归零过程产生TU76内具有4x16的矩形区域的所保持中间系数块77。通过使从第一方向上的变换输出的中间变换系数中的四分之三归零,视频编码器20在于第二方向上应用变换之前仅需要缓冲所保持中间系数块77内的系数。经归零子集(SP,TU76中的白色块)内的系数不具有要存储、变换或编码的值。以此方式,所述技术可降低执行二维变换时的中间缓冲要求。这对已针对HEVC标准提出的较大变换单元大小(例如32x32直到128x128)可能尤其有用。在缓冲之后,变换单元52可接着将一维变换应用于所保持中间系数块77中的系数的行。在此实例中,变换单元52可不使从所述变换输出的变换系数中的任一者归零,因为TU76已经归零到16x16的原始大小的四分之一。在图3A的所说明实例中,所保持变换系数包含于所保持系数块78 (即,TU76中的影线标记块)中,其具有与所保持中间系数块77相同的4x16的矩形区域。归零过程产生TU70内具有4x16的矩形区域的所保持系数块78。图4是说明可实施用于使用联合上下文模型对视频系数进行熵解码的技术的实例视频解码器的框图。在图4的实例中,视频解码器30包含熵解码单元80、预测单元81、逆量化单元86、逆变换单元88、求和单元90以及参考巾贞存储器92。预测单元81包含运动补偿单元82和帧内预测单元84。视频解码器30在一些实例中可执行一般与关于视频编码器20 (图2)所描述的编码遍次互逆的解码遍次。在解码过程期间,视频解码器30接收表示经编码视频帧或切片的经编码视频位流以及表示来自视频编码器20的译码信息的语法元素。熵解码单元80对位流进行熵解码以产生TU内的经量化变换系数。举例来说,熵解码单元80可执行上下文自适应熵解码,例如CABAC、CAVLC或另一熵译码技术。熵解码单元80还使用本发明中所描述的技术对包含重要性图(即指示重要系数在TU中的位置的若干一和若干零的图)的语法元素进行熵解码。熵解码单元80还可对运动向量和其它预测语法元素进行熵解码。为了执行上下文自适应熵解码,熵解码单元80根据上下文模型将上下文指派给位流中表示的每一经编码系数,所述上下文模型可与(例如)先前解码的相邻系数的值是否为非零有关。熵解码单元80还确定与上下文模型中的所指派上下文相关联的经编码系数的译码过程。熵解码单元80接着基于所指派的上下文对系数进行熵解码。在CABAC的情况下,熵解码单元80确定与上下文模型中的所指派上下文相关联的经编码系数的值(例如O或I)的概率估计。熵解码单元80接着基于所述系数的实际经解码值来更新与上下文模型中的所指派上下文相关联的概率估计。按照惯例,视频解码器30必须为由所实施视频压缩标准支持的TU的不同大小中的每一者维持单独的上下文模型。对于HEVC标准,已提出额外变换单元大小(例如,32x32直到128x128)以改进视频译码效率,但额外TU大小也导致增加的存储器和计算要求以维持用于额外变换单元大小中的每一者的上下文模型。根据本发明的技术,熵解码单元80可经配置以使用在具有不同大小的变换单元之间共享的联合上下文模型来执行视频系数的熵解码。主要相对于CABAC的熵解码技术来描述所述技术。然而,在一些情况下,所述技术还可应用于其它上下文自适应熵译码技术。在两个或两个以上大小的变换单元之间共享联合上下文模型可减少将上下文和概率存储在视频解码器30上所必需的存储器的量。另外,共享联合上下文模型还可降低维持视频解码器30上的上下文模型(包含在视频切片的开始处使所有上下文模型复位)的计算成本。在CABAC的情况下,所述技术还可基于系数的实际经译码值而降低连续更新上下文模型的概率估计的计算成本。根据本发明,熵解码单元80可维持在具有不同大小的变换单元之间共享的联合上下文模型,且根据所述联合上下文模型为与所述变换单元中的一者相关联的系数选择上下文。熵解码单元80可接着基于选定上下文来对与变换单元相关联的重要系数进行熵解码。举例来说,所述联合上下文模型可在具有第一大小32x32的变换单元与具有第二大小16x16的变换单元之间共享。在一些情况下,两个以上大小的变换单元可共享同一联合上下文模型。在一个实例中,联合上下文模型可为用于变换单元的重要性图的联合上下文模型。在其它实例中,联合上下文模型可与其它译码信息或语法元素相关联。相对于图6更详细地描述使用联合上下文模型的CABAC解码过程。在一个实例中,熵解码单元80可维持由具有第一大小的TU与原始具有第二大小的TU共享的联合上下文模型,所述具有第一大小的TU具有经归零以产生所保持系数块的系数。在一些情况下,所保持系数块可具有等于第二大小的大小。举例来说,在此情况下,熵解码单元80可根据联合上下文模型为原始具有第一大小的TU内具有第二大小的所保持系数块的系数选择上下文。熵解码单元80接着基于选定上下文在算术上将经编码的重要系数解码为具有第一大小的TU内的所保持系数块。在CABAC的情况下,熵解码单元80还基于系数的实际经解码值来更新与联合上下文模型中的选定上下文相关联的概率估计。在另一实例中,熵解码单元80可维持由具有第一大小的第一 TU与具有第二大小的第二 TU共享的联合上下文模型。在此实例中,熵解码单元80可根据联合上下文模型为与具有第一和第二大小中的一者的TU相关联的经编码系数选择上下文。熵解码单元80接着基于选定上下文来将经编码重要系数熵解码为TU。在CABAC的情况下,熵解码单元80可接着基于系数的实际经解码值来更新与联合上下文模型中的选定上下文相关联的概率估计。在任一情况下,熵解码单元80将第一大小或第二大小的TU内的经解码经量化变换系数转发到逆量化单元86。逆量化单元86使如上文所述由熵解码单元80解码为TU的经量化变换系数逆量化(即去量化)。逆量化过程可包含针对每一视频块或CU使用由视频编码器20计算的量化参数QP来确定量化程度以及同样确定应当应用逆量化的程度。逆变换单元88对TU内的变换系数应用逆变换(例如,逆DCT、逆整数变换、逆小波变换或概念上类似的逆变换过程),以便产生像素域中的残余视频数据。在一些实例中,逆变换单元88可包括二维可分离变换。逆变换单元88可通过首先将一维逆变换应用于TU内的变换系数的行,且接着将一维逆变换应用于TU内的变换系数的列,或反之亦然,来将二维变换应用于TU。在于第一方向上将一维逆变换应用于TU中的变换系数之后,视频解码器30缓冲中间残余数据以在第二方向上应用一维逆变换。如上文所述,在HEVC标准中,已提出较大变换单元大小(例如,32x32直到128x128)以改进视频译码效率。然而,较大TU大小也将导致对二维变换的增加的中间缓冲要求。为了降低对较大TU大小的中间缓冲要求,本发明中所描述的技术可包含用来自图2的视频编码器20使包含于TU中的变换系数的高频率子集归零。简单地将TU内经归零的变换系数设定为等于零,且所述系数不具有要存储、变换或编码的值。因此,熵解码单元80接收表示与原始具有第一大小的TU内具有第二大小的所保持系数块相关联的经编码系数的经编码位流。熵解码单元80将系数解码为具有第一大小的TU内的所保持系数块。TU接着包含第二大小的所保持系数块内的系数,以及表示TU内的剩余系数的若干零。以此方式,使视频编码器20中的变换系数归零的过程还可降低在视频解码器30中执行逆变换时对较大TU大小的中间缓冲要求。举例来说,逆变换单元88可在第一方向上(例如,逐行)将一维逆变换应用于具有大小32x32的TU内具有大小16x16的所保持系数块中的变换系数。在行逆变换之后,视频解码器30可仅需要缓冲从仅包括TU的一半(即,32x16个系数)的所保持系数块内的系数变换的中间残余数据。逆变换单元88可接着在第二方向上(例如,逐列)将一维逆变换应用于TU中的中间残余数据。以此方式,逆变换单元88可通过将残余数据包含于具有大小16x16的所保持系数块中且添加若干零以表示TU中的剩余残余数据来产生原始大小为32x32的TU。熵解码单元80还将经解码运动向量和其它预测语法元素转发到预测单元81。视频解码器30可在视频预测单元级、视频译码单元级、视频切片级、视频帧级和/或视频序列级处接收语法元素。当将视频帧译码为经帧内译码帧时,预测单元81的帧内预测单元84基于来自当前帧的先前解码块的数据而产生用于当前视频帧的视频块的预测数据。当将视频帧译码为经帧间译码帧时,预测单元81的运动补偿单元82基于从熵解码单元80接收到的经解码运动向量而产生用于当前视频帧的视频块的预测块。可相对于存储在参考帧存储器92中的参考帧的一个或一个以上参考块产生预测块。运动补偿单元82通过剖析运动向量和其它预测语法来确定用于待解码视频块的预测信息,且使用所述预测信息来产生用于正解码的当前视频块的预测块。举例来说,运动补偿单元82使用所接收语法元素中的一些来确定用以编码当前帧的CU的大小、描述帧的每一 CU如何分割的分割信息、指示如何编码每一分割的模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、参考帧列表构造命令、应用于参考帧的内插滤波器、用于所述帧的每一视频块的运动向量、与所述运动向量相关联的视频参数值,以及用以解码当前视频帧的其它信息。视频解码器30通过将来自逆变换单元88的残余块与由运动补偿单元82产生的对应预测块求和来形成经解码视频块。求和单元90表示执行此求和运算的组件。如果需要的话,还可应用去块滤波器以对经解码块进行滤波,以便去除成块假象。经解码视频块接着存储在参考帧存储器92中的参考帧中,参考帧存储器92提供参考帧的参考块以供进行后续运动补偿。参考帧存储器92还产生经解码视频以供在显示装置(例如,图1的显示装置32)上呈现。图5是说明经配置以根据联合上下文模型为视频系数选择上下文的来自图2的熵编码单元56的实例的框图。熵编码单元56包含上下文建模单元94、算术编码单元96以及联合上下文模型存储装置98。如上文所述,本发明的技术是针对使用在具有不同大小的变换单元之间共享的联合上下文模型来执行视频系数的熵编码。具体地说,本文相对于CABAC编码过程来描述所述技术。熵编码单元56将在具有不同大小的变换单元之间共享的联合上下文模型维持在联合上下文模型存储装置98内。作为一个实例,联合上下文模型存储装置98可存储由具有第一大小的TU与原始具有第二大小的TU共享的联合上下文模型,所述具有第一大小的TU具有经归零以产生具有第二大小的所保持系数块的系数。作为另一实例,联合上下文模型存储装置98可存储由具有第一大小的TU与具有第二大小的TU共享的联合上下文模型。在一些情况下,第一大小可包括32x32,且第二大小可包括16x16。上下文建模单元94接收已扫描到用于熵编码的向量中的与具有第一大小或第二大小的TU相关联的变换系数。上下文建模单元94接着根据联合上下文模型基于TU的先前编码的相邻系数的值将上下文指派给TU的系数中的每一者。更具体地说,上下文建模单元94可根据先前编码的相邻系数的值是否为非零而指派上下文。所指派的上下文可指代联合上下文模型中的上下文索引,例如上下文(i),其中i = 0,1,2,..., N0在将上下文指派给系数之后,上下文建模单元94可确定对与联合上下文模型中的所指派上下文相关联的系数的值(例如,O或I)的概率估计。每一不同上下文索引与对具有所述上下文索引的系数的值的概率估计相关联。由上下文建模单元94针对CABAC执行的概率估计可基于使用有限状态机(FSM)的表驱动估计器。对于每一上下文,FSM通过跟踪过去的上下文值且提供当前状态作为给定系数具有值O或I的概率的最佳估计来维持相关联概率估计。举例来说,如果概率状态的范围是从O到127,那么状态O可表示系数具有值O的概率为0.9999,且状态127可表示系数具有值O的概率为0.0001。算术编码单元96基于与所指派上下文相关联的系数的所确定概率估计对系数进行算术编码。以此方式,算术编码单元96根据联合上下文模型产生经编码位流,其表示与具有第一大小或第二大小的TU相关联的经算术编码的系数。在编码之后,算术编码单元96将系数的实际经编码值反馈到上下文建模单元94以更新与联合上下文模型存储装置98内的联合上下文模型中的所指派上下文相关联的概率估计。上下文建模单元94通过在概率状态之间转变来执行对联合上下文模型中的所指派上下文的概率更新。举例来说,如果系数的实际经译码值为0,那么系数值等于O的概率可通过转变到较低状态来增加。通过连续更新联合上下文模型的概率估计以反映系数的实际经编码值,对指派给联合上下文模型中的相同上下文的未来系数的概率估计可更准确,且导致算术编码单元96的位编码进一步减少。在第一实例中,联合上下文模型存储装置98可存储由具有第一大小的TU与原始具有第二大小的TU共享的联合上下文模型,所述具有第一大小的TU具有经归零以产生具有第二大小的所保持系数块的系数。举例来说,联合上下文模型存储装置98可存储由原始具有大小32x32的TU内的具有大小16x16的所保持系数块与原始具有大小16x16的TU共享的联合上下文模型。大小为32x32的第一 TU内大小为16x16的所保持系数块内的第一系数可被指派由大小为32x32的TU与大小为16x16的TU共享的联合上下文模型中的上下文(5),所述大小为32x32的TU具有经归零以产生大小为16x16的所保持系数块的系数。上下文建模单元94接着确定对与联合上下文模型中的所指派上下文(5)相关联的第一系数的值的概率估计,且基于第一系数的实际经编码值来更新与联合上下文模型中的所指派上下文(5)相关联的概率估计。大小为16x16的第二 TU内的第二系数也可被指派联合上下文模型中与第一 TU内的所保持系数块中的系数相同的上下文(5)。上下文建模单元94接着确定对与联合上下文模型中的所述相同所指派上下文(5)相关联的第二系数的值的概率估计,且基于第二系数的实际经编码值来更新与联合上下文模型中的所述相同所指派上下文(5)相关联的概率估计。在第二实例中,联合上下文模型存储装置98可存储由具有第一大小的TU与具有第二大小的TU共享的联合上下文模型。举例来说,联合上下文模型存储装置98可存储由具有大小32x32和16x16的TU共享的联合上下文模型。大小为32x32的第一 TU内的第一系数可被指派由大小32x32和16x16的TU共享的联合上下文模型中的上下文(5)。上下文建模单元94接着确定对与联合上下文模型中的所指派上下文(5)相关联的第一系数的值的概率估计,且基于第一系数的实际经编码值来更新与联合上下文模型中的所指派上下文(5)相关联的概率估计。大小为16x16的第二 TU内的第二系数也可被指派联合上下文模型中与第一 TU中的系数相同的上下文(5)。上下文建模单元94接着确定对与联合上下文模型中的所述相同所指派上下文(5)相关联的第二系数的值的概率估计,且基于第二系数的实际经编码值来更新与联合上下文模型中的所述相同所指派上下文(5)相关联的概率估计。图6是说明经配置以根据联合上下文模型为视频系数选择上下文的熵解码单元80的实例的框图。熵解码单元80包含算术编码单元102、上下文建模单元104以及联合上下文模型存储装置106。如上文所述,本发明的技术是针对使用在具有不同大小的变换单元之间共享的联合上下文模型来执行视频系数的熵解码。具体地说,本文相对于CABAC解码过程来描述所述技术。熵解码单元80可以基本上与来自图5的熵编码单元56的操作方式对称的方式操作。熵解码单元80将在具有不同大小的变换单元之间共享的联合上下文模型维持在联合上下文模型存储装置106内。存储在联合上下文模型存储装置106内的联合上下文模型大体上类似于存储在来自图5的熵编码单元56中的联合上下文模型存储装置98中的联合上下文模型。作为一个实例,联合上下文模型存储装置106可存储由具有第一大小的TU与原始具有第二大小的TU共享的联合上下文模型,所述具有第一大小的TU具有经归零以产生具有第二大小的所保持系数块的系数。作为另一实例,联合上下文模型存储装置106可存储由具有第一大小的TU与具有第二大小的TU共享的联合上下文模型。在一些情况下,第一大小可包括32x32,且第二大小可包括16x16。算术解码单元102接收表示与第一大小或第二大小的TU相关联的经编码变换系数的经编码位流。算术解码单元102对包含在位流中的第一系数进行解码。上下文建模单元104接着基于第一经解码系数的值将上下文指派给包含在位流中的后续经编码系数。以类似方式,上下文建模单元104根据联合上下文模型基于TU的先前解码的相邻系数的值将上下文指派给包含于位流中的经编码系数中的每一者。更具体地说,上下文建模单元104可根据先前解码的相邻系数的值是否为非零而指派上下文。所指派的上下文可指代联合上下文模型中的上下文索引。在将上下文指派给经编码系数之后,上下文建模单元104可确定对与联合上下文模型中的所指派上下文相关联的经编码系数的值(例如,O或I)的概率估计。每一不同上下文索引与一概率估计相关联。上下文建模单元104将经编码系数的所确定概率估计反馈到算术解码单元102。算术解码单元102接着基于与所指派上下文相关联的系数的所确定概率估计对经编码系数进行算术解码。以此方式,算术解码单元102根据联合上下文模型产生具有第一大小或第二大小的TU内的经解码变换系数。在解码之后,算术解码单元102将系数的实际经解码值馈送到上下文建模单元104以更新与联合上下文模型存储装置106内的联合上下文模型中的所指派上下文相关联的概率估计。通过连续更新联合上下文模型的概率估计以反映系数的实际经解码值,对指派给联合上下文模型中的相同上下文的未来系数的概率估计可更准确,且导致算术解码单元102的位解码进一步减少。
在第一实例中,联合上下文模型存储装置106可存储由具有第一大小的TU与原始具有第二大小的TU共享的联合上下文模型,所述具有第一大小的TU具有经归零以产生具有第二大小的所保持系数块的系数。举例来说,联合上下文模型存储装置106可存储由原始具有大小32x32的TU内的具有大小16x16的所保持系数块与原始具有大小16x16的TU共享的联合上下文模型。与大小为32x32的第一 TU内大小为16x16的所保持系数块相关联的第一经编码系数可被指派由大小为32x32的TU与大小为16x16的TU共享的联合上下文模型中的上下文(5),所述大小为32x32的TU具有经归零以产生具有大小16x16的所保持系数块的系数。上下文建模单元104接着确定对与联合上下文模型中的所指派上下文(5)相关联的第一经编码系数的值的概率估计,且基于第一系数的实际经解码值来更新与联合上下文模型中的所指派上下文(5)相关联的概率估计。与大小为16x16的第二 TU相关联的第二经编码系数可被指派联合上下文模型中与同第一 TU内的所保持系数块相关联的第一经编码系数相同的上下文(5)。上下文建模单元104接着确定对与联合上下文模型中的所述相同所指派上下文(5)相关联的第二经编码系数的值的概率估计,且基于第二系数的实际经解码值来更新与联合上下文模型中的相同所指派上下文(5)相关联的概率估计。在第二实例中,联合上下文模型存储装置106可存储由具有第一大小的TU与具有第二大小的TU共享的联合上下文模型。举例来说,联合上下文模型存储装置106可存储由具有大小32x32和16x16的TU共享的联合上下文模型。与大小为32x32的第一 TU相关联的第一经编码系数可被指派由大小32x32的TU与大小16x16的TU共享的联合上下文模型中的上下文(5)。上下文建模单元104接着确定对与联合上下文模型中的所指派上下文(5)相关联的第一经编码系数的值的概率估计,且基于第一系数的实际经解码值来更新与联合上下文模型中的所指派上下文(5)相关联的概率估计。与大小为16x16的第二 TU相关联的第二经编码系数可被指派联合上下文模型中与同第一 TU相关联的第一经编码系数相同的上下文(5)。上下文建模单元104接着确定对与联合上下文模型中的所述相同所指派上下文(5)相关联的第二经编码系数的值的概率估计,且基于第二系数的实际经解码值来更新与联合上下文模型中的所述相同所指派上下文(5)相关联的概率估计。图7是说明使用在具有第一大小的第一变换单元与具有第二大小的第二变换单元之间共享的联合上下文模型来对视频系数进行熵编码和解码的实例操作的流程图。参考图2的视频编码器20内的图5的熵编码单元56以及图3的视频解码器30内的图6的熵解码单元80来描述所说明的操作,但其它装置可实施类似技术。在所说明的操作中,视频编码器20内的熵编码单元56以及视频解码器30内的熵编码单元80可维持由具有第一大小的TU与具有第二大小的TU共享的联合上下文模型。在此情况下,包含在具有第一大小(例如32x32)的第一 TU中的系数可具有与包含在第二大小(例如16x16)的第二 TU中的系数类似的概率统计,即使在不使第一 TU内的高频率系数归零的情况下也是如此。这在高频率系数表示残余视频数据很少以致对用于熵译码的相邻系数的概率统计的影响是可忽略的时可为可能的。在一种情况下,视频编码器20可使用变换单元52来将残余视频数据变换为具有第一大小的TU内的变换系数(120)。在另一情况下,视频编码器20可使用变换单元52来将残余视频数据变换为具有第二大小的TU内的变换系数(121)。不管TU是具有第一大小还是第二大小,本发明的技术均使熵编码单元56能够根据同一联合上下文模型对TU内的系数进行熵编码。因此,所述技术减少将上下文和概率存储在视频编码器20上所必需的存储器的量,且降低维持视频编码器20上的上下文模型的计算成本。熵编码单元56内的上下文建模单元94根据由具有第一大小和第二大小两者的TU共享的联合上下文模型为TU内的每一系数选择上下文(122)。更具体地说,上下文建模单元94根据联合上下文模型基于TU的先前经编码相邻系数的值将上下文指派给TU的给定系数。上下文建模单元94接着可确定对与联合上下文模型存储装置98内的联合上下文模型中的所指派上下文相关联的系数的值(例如O或I)的概率估计。算术编码单元96接下来基于为所述系数选定的上下文对所述系数进行算术编码(124)。在编码之后,算术编码单元96将系数的实际经编码值反馈到上下文建模单元94。上下文模型单元94可接着基于具有第一大小或第二大小的TU内的系数的实际经编码值来更新联合上下文模型的概率估计(126)。视频编码器20将表示与具有第一大小或第二大小的TU相关联的经编码系数的位流发射到视频解码器30 (128)。视频解码器30可接收表示与具有第一大小或第二大小的TU相关联的经编码系数的位流(130)。不管TU是具有第一大小还是第二大小,本发明的技术均使熵解码单元80能够基于同一联合上下文模型对与TU相关联的系数进行熵解码。因此,所述技术可减少将上下文和概率存储在视频解码器30上所必需的存储器的量,且降低维持视频解码器30上的上下文模型的计算成本。熵解码单元80内的上下文建模单元104根据由具有第一大小和第二大小两者的TU共享的联合上下文模型为与TU相关联的每一经编码系数选择上下文(132)。更具体地说,上下文建模单元104可根据联合上下文模型基于TU的先前经解码相邻系数的值将上下文指派给与TU相关联的后续经编码系数。上下文建模单元104接着可确定对与联合上下文模型存储装置106内的联合上下文模型中的所指派上下文相关联的经编码系数的值(例如O或I)的概率估计。上下文建模单元104将与为经编码系数选定的上下文相关联的所确定概率估计反馈到算术编码单元102。算术编码单元102接下来基于选定上下文将经编码系数算术解码为具有第一大小或第二大小的TU(134)。在解码之后,算术解码单元102将系数的实际经解码值馈送到上下文建模单元104。上下文模型单元104可接着基于具有第一大小或第二大小的TU内的系数的实际经解码值来更新联合上下文模型的概率估计(136)。在一种情况下,视频解码器30可使用逆变换单元88来将具有第一大小的TU内的系数逆变换为残余视频数据(138)。在另一情况下,视频解码器30可使用逆变换单元88来将具有第二大小的TU内的系数逆变换为残余视频数据(139)。图8是说明使用在具有第一大小的第一变换单元与具有第二大小的第二变换单元之间共享的联合上下文模型来对视频系数进行熵编码和解码的实例操作的流程图,所述具有第一大小的第一变换单元具有经归零以产生具有第二大小的所保持系数块的系数。参考图2的视频编码器20内的图4的熵编码单元56以及图3的视频解码器30内的图5的熵解码单元80来描述所说明的操作,但其它装置可实施类似技术。在所说明的操作中,视频编码器20内的熵编码单元56以及视频解码器30内的熵编码单元80可维持由具有第一大小的TU与具有第二大小的TU共享的联合上下文模型,所述具有第一大小的TU具有经归零以产生具有第二大小的所保持系数块的系数。在此情况下,包含在具有第一大小(例如32x32)的第一 TU内的具有第二大小(例如16x16)的所保持系数块中的系数可具有与包含在具有第二大小(例如16x16)的第二 TU中的系数类似的概率统计。在一种情况下,视频编码器20可使用变换单元52来将残余视频数据变换为具有第一大小的TU内的变换系数(140)。视频编码器20在变换之后使包含在第一 TU中的系数的子集归零,以产生第一 TU内具有第二大小的所保持系数块(141)。经归零变换系数的所述子集通常包含相对于所保持系数块内的系数的高频率变换系数。高频率变换系数可含有很少的残余视频数据,以致将值设定为等于零对经解码视频质量具有可忽略的影响。在另一情况下,视频编码器20可使用变换单元52来将残余视频数据变换为具有第二大小的TU内的变换系数(142)。不管TU是原始具有第一大小还是第二大小,本发明的技术均使熵编码单元56能够根据同一联合上下文模型对TU内的所保持系数进行熵编码。因此,所述技术减少将上下文和概率存储在视频编码器20上所必需的存储器的量,且降低维持视频编码器20上的上下文模型的计算成本。熵编码单元56内的上下文建模单元94根据由具有归零到第二大小的系数的具有第一大小的TU与具有第二大小的TU共享的联合上下文模型为TU内的每一所保持系数选择上下文(144)。更具体地说,上下文建模单元94根据联合上下文模型基于所保持系数块的先前经编码相邻系数的值将上下文指派给第一 TU的所保持系数块内的给定系数。上下文建模单元94接着可确定对与联合上下文模型存储装置98内的联合上下文模型中的所指派上下文相关联的系数的值(例如O或I)的概率估计。算术编码单元96接下来基于为所述系数选定的上下文对所述系数进行算术编码(146)。在编码之后,算术编码单元96将系数的实际经编码值反馈到上下文建模单元94。上下文模型单元94可接着基于第一大小的TU内第二大小的所保持系数块或原始为第二大小的TU中的系数的实际经编码值来更新联合上下文模型的概率估计(148)。视频编码器20将表示与第一大小的TU内的所保持系数块或第二大小的TU相关联经编码系数的位流发射到视频解码器30(150)。视频解码器30可接收表示与第一大小的TU内第二大小的所保持系数块或原始为第二大小的TU相关联的经编码系数的位流(152)。不管TU是具有第一大小还是第二大小,本发明的技术均使熵解码单元80能够基于同一联合上下文模型对与TU相关联的系数进行熵解码。因此,所述技术减少将上下文和概率存储在视频解码器30上所必需的存储器的量,且降低维持视频解码器30上的上下文模型的计算成本。熵解码单元80内的上下文建模单元104根据由具有第一大小的TU与具有第二大小的TU共享的联合上下文模型为与TU相关联的每一系数选择上下文,所述具有第一大小的TU具有经归零以产生具有第二大小的所保持系数块的系数(154)。更具体地说,上下文建模单元104可根据联合上下文模型基于所保持系数块的先前经解码相邻系数的值将上下文指派给与第一 TU的所保持系数块相关联的后续经编码系数。上下文建模单元104接着可确定对与联合上下文模型存储装置106内的联合上下文模型中的所指派上下文相关联的经编码系数的值(例如O或I)的概率估计。上下文建模单元104将与为经编码系数选定的上下文相关联的所确定概率反馈到算术编码单元102。算术编码单元102接下来基于选定上下文将经编码系数算术解码为第一大小的TU内的所保持系数块或第二大小的TU(156)。在解码之后,算术解码单元102将系数的实际经解码值馈送到上下文建模单元104。上下文模型单元104可接着基于第一大小的TU内第二大小的所保持系数块或原始为第二大小的TU内的系数的实际经解码值来更新联合上下文模型的概率估计(158)。在一种情况下,视频解码器30可使用逆变换单元88来将具有第一大小的TU内具有第二大小的所保持系数块的系数逆变换为残余视频数据(160)。以此方式,逆变换单元88可通过将残余数据包含于具有第二大小的所保持系数块中且添加若干零以表示TU中的剩余残余数据来产生具有第一大小的TU。在另一情况下,视频解码器30可使用逆变换单元88来将具有第二大小的TU内的系数逆变换为残余视频数据(162)。在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件来实施,那么所述功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或经由计算机可读媒体而传输,且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体等有形媒体,或包含例如根据通信协议促进计算机程序从一处到另一处的传送的任何媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(I)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索指令、代码和/或数据结构以供实施本发明中所描述的技术的任何可用媒体。计算机程序产品可包含计算机可读媒体。作为实例(而非限制),所述计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-R0M或其它光盘存储装置、磁盘存储装置,或其它磁性存储装置、快闪存储器,或可用于存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。同样,恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤缆线、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴电缆、光纤缆线、双绞线、DSL或例如红外线、无线电及微波等无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬态媒体,而是针对非瞬态有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘及蓝光光盘,其中磁盘通常磁性地再生数据,而光盘使用激光光学地再生数据。以上各项的组合也应包含在计算机可读媒体的范围内。指令可由一个或一个以上处理器执行,例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其它等效集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文所述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。本发明的技术可在各种各样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元,以强调经配置以执行所揭示技术的装置的功能方面,但不一定要求由不同硬件单元来实现。相反,如上文所述,各种单元可组合在编解码器硬件单元中,或由互操作硬件单元(包含如上文所述的一个或一个以上处理器)的集合结合合适的软件和/或固件来提供。
权利要求
1.一种译码视频数据的方法,其包括: 维持由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型,其中所述第一大小与所述第二大小是不同的; 根据所述联合上下文模型为与具有所述第一大小和所述第二大小中的一者的所述变换单元相关联的系数选择上下文;以及 基于所述选定上下文根据译码过程对所述变换单元的所述系数进行熵译码。
2.根据权利要求1所述的方法,其中所述联合上下文模型包括重要性图的所述联合上下文模型,所述方法进一步包括: 根据所述联合上下文模型为与具有所述第一大小和所述第二大小中的一者的所述变换单元相关联的所述重要性图的分量选择上下文;以及 基于所述选定上下文对与所述变换单元相关联的所述重要性图的所述分量进行熵译码。
3.根据权利要求1所述的方法,其中根据所述联合上下文模型为所述系数中的每一者选择上下文包括: 基于所述变换单元的先前经译码相邻系数的值将所述联合上下文模型中的上下文指派给所述系数;以及 确定用于与所述联合上下文模型中的所述所指派上下文相关联的所述系数的所述译码过程。
4.根据权利要求3所述的方法,其中确定译码过程包括确定对所述系数的值的概率估计,所述方法进一步包括基于具有所述第一大小的所述变换单元和具有所述第二大小的所述变换单元的系数的实际经译码值来更新与所述联合上下文模型中的所述所指派上下文相关联的所述概率估计。
5.根据权利要求1所述的方法,其中所述方法包括解码视频数据的方法,所述方法进一步包括: 接收表示与具有所述第一大小和所述第二大小中的所述一者的所述变换单元相关联的经编码系数的位流; 根据所述联合上下文模型为所述经编码系数选择上下文;以及 基于所述选定上下文将所述经编码系数熵解码为所述变换单元。
6.根据权利要求5所述的方法,其进一步包括将具有第一大小和第二大小中的所述一者的所述变换单元的所述系数逆变换为残余视频数据。
7.根据权利要求1所述的方法,其中所述方法包括编码视频数据的方法,所述方法进一步包括: 将残余视频数据变换为具有所述第一大小和所述第二大小中的所述一者的所述变换单元内的系数; 根据所述联合上下文模型为所述变换单元的所述系数选择上下文;以及 基于所述选定上下文对所述变 换单元的所述系数进行熵编码。
8.根据权利要求1所述的方法,其中所述第一大小的变换单元包括32x32变换单元,且其中所述第二大小的变换单元包括16x16变换单元。
9.根据权利要求1所述的方法,其中根据所述联合上下文模型选择上下文包括:基于具有所述第一大小的第一变换单元的先前经译码相邻系数的值将所述联合上下文模型中的上下文指派给所述第一变换单元的第一系数; 确定对与所述联合上下文模型中的所述所指派上下文相关联的所述第一系数的值的概率估计; 基于所述第一系数的实际经译码值来更新与所述联合上下文模型中的所述所指派上下文相关联的所述概率估计; 基于具有所述第二大小的第二变换单元的先前经译码相邻系数的值将所述联合上下文模型中的所述同一上下文指派给所述第二变换单元的第二系数; 确定对与所述联合上下文模型中的所述同一所指派上下文相关联的所述第二系数的值的概率估计;以及 基于所述第二系数的实际经译码值来更新与所述联合上下文模型中的所述同一所指派上下文相关联的所述概率估计。
10.一种视频译码装置,其包括: 存储器,其存储由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型,其中所述第一大小与所述第二大小是不同的;以及 处理器,其经配置以维持所述联合上下文模型,根据所述联合上下文模型为与具有所述第一大小和所述第二大小中的一者的所述变换单元相关联的系数选择上下文,且基于所述选定上下文根据译码过程来对所述变换单元的所述系数进行熵译码。
11.根据权利要求10所述的视频译码装置,其中所述联合上下文模型包括重要性图的所述联合上下文模型,其中所述处理器经配置以: 根据所述联合上下文模型为与具有所述第一大小和所述第二大小中的一者的所述变换单元相关联的所述重要性图的分量选择上下文;以及 基于所述选定上下文对与所述变换单元相关联的所述重要性图的所述分量进行熵译码。
12.根据权利要求10所述的视频译码装置,其中所述处理器经配置以: 基于所述变换单元的先前经译码相邻系数的值将所述联合上下文模型中的上下文指派给所述系数;以及 确定用于与所述联合上下文模型中的所述所指派上下文相关联的所述系数的所述译码过程。
13.根据权利要求12所述的视频译码装置,其中所述处理器经配置以确定对所述系数的值的概率估计,且基于具有所述第一大小的所述变换单元和具有所述第二大小的所述变换单元的系数的实际经译码值来更新与所述联合上下文模型中的所述所指派上下文相关联的所述概率估计。
14.根据权利要求10所述的视频译码装置,其中所述视频译码装置包括视频解码装置,其中所述处理器经配置以: 接收表示与具有所述第一大小和所述第二大小中的所述一者的所述变换单元相关联的经编码系数的位流; 根据所述联合上下文模型为所述经编码系数选择上下文;以及 基于所述选定上下文将所述经编码系数熵解码为所述变换单元。
15.根据权利要求14所述的视频译码装置,其中所述处理器经配置以将具有第一大小和第二大小中的所述一者的所述变换单元的所述系数逆变换为残余视频数据。
16.根据权利要求10所述的视频译码装置,其中所述视频译码装置包括视频编码装置,其中所述处理器经配置以: 将残余视频数据变换为具有所述第一大小和所述第二大小中的所述一者的所述变换单元内的系数; 根据所述联合上下文模型为所述变换单元的所述系数选择上下文;以及 基于所述选定上下文对所述变换单元的所述系数进行熵编码。
17.根据权利要求10所述的视频译码装置,其中所述第一大小的变换单元包括32x32变换单元,且其中所述第二大小的变换单元包括16x16变换单元。
18.根据权利要求10所述的视频译码装置,其中所述处理器经配置以: 基于具有所述第一大小的第一变换单元的先前经译码相邻系数的值将所述联合上下文模型中的上下文指派给所述第一变换单元的第一系数; 确定对与所述联合上下文模型中的所述所指派上下文相关联的所述第一系数的值的概率估计; 基于所述第一系数的实际经译码值来更新与所述联合上下文模型中的所述所指派上下文相关联的所述概率估计; 基于具有所述第二大小的第二变换单元的先前经译码相邻系数的值将所述联合上下文模型中的所述同一 上下文指派给所述第二变换单元的第二系数; 确定对与所述联合上下文模型中的所述同一所指派上下文相关联的所述第二系数的值的概率估计;以及 基于所述第二系数的实际经译码值来更新与所述联合上下文模型中的所述同一所指派上下文相关联的所述概率估计。
19.一种视频译码装置,其包括: 用于维持由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型的装置,其中所述第一大小与所述第二大小是不同的; 用于根据所述联合上下文模型为与具有所述第一大小和所述第二大小中的一者的所述变换单元相关联的系数选择上下文的装置;以及 用于基于所述选定上下文根据译码过程对所述变换单元的所述系数进行熵译码的装置。
20.根据权利要求19所述的视频译码装置,其中所述联合上下文模型包括重要性图的所述联合上下文模型,所述视频译码装置进一步包括: 用于根据所述联合上下文模型为与具有所述第一大小和所述第二大小中的一者的所述变换单元相关联的所述重要性图的分量选择上下文的装置;以及 用于基于所述选定上下文对与所述变换单元相关联的所述重要性图的所述分量进行熵译码的装置。
21.根据权利要求19所述的视频译码装置,其进一步包括: 用于基于所述变换单元的先前经译码相邻系数的值将所述联合上下文模型中的上下文指派给所述系数的装置;以及用于确定用于与所述联合上下文模型中的所述所指派上下文相关联的所述系数的所述译码过程的装置。
22.根据权利要求21所述的视频译码装置,其中所述用于确定译码过程的装置包括用于确定对所述系数的值的概率估计的装置,以及用于基于具有所述第一大小的所述变换单元和具有所述第二大小的所述变换单元的系数的实际经译码值来更新与所述联合上下文模型中的所述所指派上下文相关联的所述概率估计的装置。
23.根据权利要求19所述的视频译码装置,其中所述视频译码装置包括视频解码装置,所述视频译码装置进一步包括: 用于接收表示与具有所述第一大小和所述第二大小中的所述一者的所述变换单元相关联的经编码系数的位流的装置; 用于根据所述联合上下文模型为所述经编码系数选择上下文的装置;以及 用于基于所述选定上下文将所述经编码系数熵解码为所述变换单元的装置。
24.根据权利要求23所述的视频译码装置,其进一步包括用于将具有第一大小和第二大小中的所述一者的所述变换单元的所述系数逆变换为残余视频数据的装置。
25.根据权利要求19所述的视频译码装置,其中所述视频译码装置包括视频编码装置,所述视频译码装置进一步包括: 用于将残余视频数据变换为具有所述第一大小和所述第二大小中的所述一者的所述变换单元内的系数的装置; 用于根据所述联合上下文模型为所述变换单元的所述系数选择上下文的装置;以及 用于基于所述选定上下文对所述变换单元的所述系数进行熵编码的装置。
26.根据权利要求19所述的视频译码装置,其中所述第一大小的变换单元包括32x32变换单元,且其中所述第二大小的变换单元包括16x16变换单元。
27.一种计算机可读媒体,其包括用于译码视频数据的指令,所述指令在被执行时致使处理器: 维持由具有第一大小的变换单元与具有第二大小的变换单元共享的联合上下文模型,其中所述第一大小与所述第二大小是不同的; 根据所述联合上下文模型为与具有所述第一大小和所述第二大小中的一者的所述变换单元相关联的系数选择上下文;以及 基于所述选定上下文根据译码过程对所述变换单元的所述系数进行熵译码。
28.根据权利要求27所述的计算机可读媒体,其中所述联合上下文模型包括重要性图的所述联合上下文模型,所述计算机可读媒体进一步包括致使所述处理器进行以下操作的指令: 根据所述联合上下文模型为与具有所述第一大小和所述第二大小中的一者的所述变换单元相关联的所述重要性图的分量选择上下文;以及 基于所述选定上下文对与所述变换单元相关联的所述重要性图的所述分量进行熵译码。
29.根据权利要求27所述的计算机可读媒体,其中所述指令致使所述处理器: 基于所述变换单元的先前经译码相邻系数的值将所述联合上下文模型中的上下文指派给所述系数;以及确定用于与所述联合上下文模型中的所述所指派上下文相关联的所述系数的所述译码过程。
30.根据权利要求29所述的计算机可读媒体,其中所述指令致使所述处理器: 确定对所述系数的值的概率估计;以及 基于具有所述第一大小的所述变换单元和具有所述第二大小的所述变换单元的系数的实际经译码值来更新与所述联合上下文模型中的所述所指派上下文相关联的所述概率估计。
31.根据权利要求27所述的计算机可读媒体,其中所述指令包括用于解码视频数据的指令,所述计算机可读媒体进一步包括致使所述处理器进行以下操作的指令: 接收表示与具有所述第一大小和所述第二大小中的所述一者的所述变换单元相关联的经编码系数的位流; 根据所述联合上下文模型为所述经编码系数选择上下文;以及 基于所述选定上下文将所述经编码系数熵解码为所述变换单元。
32.根据权利要求31所述的计算机可读媒体,其进一步包括致使所述处理器将具有第一大小和第二大小中的所述一者的所述变换单元的所述系数逆变换为残余视频数据的指令。
33.根据权利要求27所述的计算机可读媒体,其中所述指令包括用于编码视频数据的指令,所述计算机可读媒体进一步包括致使所述处理器进行以下操作的指令: 将残余视频数据变换为具有所 述第一大小和所述第二大小中的所述一者的所述变换单元内的系数; 根据所述联合上下文模型为所述变换单元的所述系数选择上下文;以及 基于所述选定上下文对所述变换单元的所述系数进行熵编码。
34.根据权利要求27所述的计算机可读媒体,其中所述第一大小的变换单元包括32x32变换单元,且其中所述第二大小的变换单元包括16x16变换单元。
全文摘要
本发明描述用于使用在具有不同大小的变换单元之间共享的联合上下文模型来执行视频系数的熵编码和解码的技术。举例来说,所述联合上下文模型可在具有第一大小32x32的变换单元与具有第二大小16x16的变换单元之间共享。使用在具有不同大小的变换单元之间共享的联合上下文模型执行熵译码可减少存储上下文和概率所必需的存储器的量,且降低维持上下文模型的计算成本。在一个实例中,所述联合上下文模型可在具有第一大小的变换单元与具有第二大小的变换单元之间共享,所述具有第一大小的变换单元具有经归零以产生具有第二大小的所保持系数块的系数。在另一实例中,所述联合上下文模型可在具有所述第一大小的变换单元与具有所述第二大小的变换单元之间共享。
文档编号H04N7/50GK103181169SQ201180050442
公开日2013年6月26日 申请日期2011年9月30日 优先权日2010年10月1日
发明者霍埃尔·索赖罗哈斯, 拉詹·L·乔希, 马尔塔·卡切维奇 申请人:高通股份有限公司