用于视频译码的变换系数的自适应扫描的制作方法

文档序号:7885784阅读:211来源:国知局
专利名称:用于视频译码的变换系数的自适应扫描的制作方法
技术领域
本发明涉及视频译码。
背景技术
数字视频能力可并入到广泛范围的装置中,包括数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置及类似装置。数字视频装置实施视频压缩技术,例如通过MPEG-2、MPEG-4、ITU-TH.263、ITU-TH.264/MPEG-4第10部分、高级视频译码(AVC)、即将来临的高效率视频译码(HEVC)标准和此类标准的扩展部分界定的标准中描述的技术,以便更有效地发射和接收数字视频信息。视频压缩技术执行空间预测和/或时间预测来减少或移除视频序列中固有的冗余。对于基于块的视频译码来说,一个视频帧或切片可以分割成多个译码单元,这些译码单元还可总体上被称作块。每一块可被进一步分割。使用相对于相同帧或切片中的相邻参考块的空间预测对经帧内译码(I)帧或切片中的块进行编码。经帧间译码(P或B)帧或切片中的块可以使用相对于相同帧或切片中的相邻块的空间预测或相对于其它参考帧的时间预测。

发明内容
总的来说,本发明描述用于对视频数据进行译码的技术。本发明描述用于在视频译码过程期间变换残余视频数据和扫描变换系数的技术。总的来说,待译码的图片的块可以被帧内模式编码(例如,相对于同一图片的其它块中的参考样本编码)或帧间模式编码(例如,相对于先前经译码图片的参考块编码)。在任一情况下,视频编码器都形成用于待译码的块的预测性数据。通过残余数据表示所述块的预测性数据与实际数据之间的差。所述视频编码器可以将所述残余数据例如从空间域变换到变换域,由此产生多个变换系数。本发明的技术大体上涉及确定一个可用于将变换系数从二维块串行化到一维阵列以用于熵译码的变换系数扫描次序。根据本发明的方面,视频编码器可以基于被串行化的变换系数的数目确定是否发信号通知一个扫描次序。明确地说,如果被串行化的变换系数的数目超出预定阈值,则视频编码器可以确定和明确地发信号通知某一扫描次序。替代地,如果被串行化的变换系数的数目未超出预定阈值,则视频编码器可以不发信号通知特定的扫描次序。在此实例中,视频编码器可以使用预界定或默认扫描次序扫描所述变换系数。在一实例中,一种用于对视频数据进行解码的方法包括确定与视频数据的一块相关联的变换系数的数目,和确定变换系数的所述数目是否超出预定阈值。所述方法还包括在变换系数的所述数目超出所述预定阈值时识别一扫描次序,其中所述扫描次序指示所述变换系数已经从二维阵列串行化成一维阵列的次序。所述方法还包括应用所述扫描次序对与视频数据的一块相关联的所述数目的变换系数进行逆扫描。在另一实例中,一种用于对视频数据进行解码的设备包含经配置以进行以下操作的视频解码器:确定与视频数据的一块相关联的变换系数的数目;和确定变换系数的所述数目是否超出预定阈值。所述视频解码器还经配置以在变换系数的所述数目超出所述预定阈值时识别一扫描次序,其中所述扫描次序指示所述变换系数已经从二维阵列串行化成一维阵列的次序;和应用所述扫描次序对与视频数据的一块相关联的所述数目的变换系数进行逆扫描。在另一实例中,一种用于对视频数据进行解码的设备包含用于确定与视频数据的一块相关联的变换系数的数目的装置,和用于确定变换系数的所述数目是否超出预定阈值的装置。所述设备还包含用于在变换系数的所述数目超出所述预定阈值时识别一扫描次序的装置,其中所述扫描次序指示所述变换系数已经从二维阵列串行化成一维阵列的次序;和用于应用所述扫描次序对与视频数据的一块相关联的所述数目的变换系数进行逆扫描的装置。在另一实例中,一种计算机程序产品包含上面存储有指令的计算机可读存储媒体,所述指令在执行时致使用于对视频数据进行解码的装置的处理器进行以下操作:确定与视频数据的一块相关联的变换系数的数目;确定变换系数的所述数目是否超出预定阈值;在变换系数的所述数目超出所述预定阈值时识别一扫描次序,其中所述扫描次序指示所述变换系数已经从二维阵列串行化成一维阵列的次序;以及应用所述扫描次序对与视频数据的一块相关联的所述数目的变换系数进行逆扫描。在另一实例中,一种用于对视频数据进行编码的方法包含:确定与视频数据的一块相关联的变换系数的数目;基于变换系数的所述数目是否超出预定阈值确定是否发信号通知扫描次序,其中所述扫描次序指示所述变换系数从二维阵列串行化成一维阵列的次序。所述方法还包含在变换系数的所述数目超出所述预定阈值时发信号通知所述扫描次序。在另一实例中,一种用于对视频数据进行编码的设备包含经配置以进行以下操作的视频编码器:确定与视频数据的一块相关联的变换系数的数目;和基于变换系数的所述数目是否超出预定阈值确定是否发信号通知扫描次序,其中所述扫描次序指示所述变换系数从二维阵列串行化成一维阵列的次序。所述视频编码器还经配置以在变换系数的所述数目超出所述预定阈值时发信号通知所述扫描次序。在另一实例中,一种用于对视频数据进行编码的设备包含:用于确定与视频数据的一块相关联的变换系数的数目的装置;和用于基于变换系数的所述数目是否超出预定阈值确定是否发信号通知扫描次序的装置,其中所述扫描次序指示所述变换系数从二维阵列串行化成一维阵列的次序。所述设备还包含用于在变换系数的所述数目超出所述预定阈值时发信号通知所述扫描次序的装置。在另一实例中,一种计算机程序产品包含上面存储有指令的计算机可读存储媒体,所述指令在执行时致使用于对视频数据进行编码的装置的处理器进行以下操作:确定与视频数据的一块相关联的变换系数的数目;基于变换系数的所述数目是否超出预定阈值确定是否发信号通知扫描次序,其中所述扫描次序指示所述变换系数从二维阵列串行化成一维阵列的次序;以及在变换系数的所述数目超出所述预定阈值时发信号通知所述扫描次序。一个或一个以上实例的细节陈述于附图和以下描述中。其它特征、目的和优势将从描述和附图和从权利要求书中显而易见。


图1是图解说明可以利用用于确定是否明确地发信号通知用于一译码单元的扫描次序的技术的实例视频编码和解码系统的框图。图2是图解说明可以实施本发明中描述的用于确定是否明确地发信号通知用于一译码单元的扫描次序的任何或所有技术的实例视频编码器的框图。图3是图解说明经编码视频序列进行解码的视频解码器的实例的框图。图4是图解说明变换系数的实例Z形扫描的概念图。图5是图解说明根据本发明的若干方面的用于确定是否发信号通知用于扫描变换系数的扫描次序的实例方法的流程图。图6是图解说明根据本发明的若干方面的用于确定是否发信号通知用于扫描变换系数的扫描次序的另一实例方法的流程图。图7是图解说明用于执行自适应扫描的实例方法的流程图。图8是图解说明用于选择在对描述自适应扫描的系数的语法元素进行扫描和熵编码时使用的上下文模型的实例方法的流程图。图9是图解说明根据本发明的若干方面用于确定是否识别用于对变换系数进行逆扫描的扫描次序的实例方法的流程图。图10是图解说明根据本发明的若干方面用于确定是否识别用于对变换系数进行逆扫描的扫描次序的另一实例方法的流程图。
具体实施例方式总的来说,本发明描述用于对视频数据进行译码的技术。更明确地说,本发明描述与在视频译码过程期间变换数据和扫描变换系数相关的技术。经编码视频数据可包括预测数据和残余数据。视频编码器可在帧内预测模式或帧间预测模式期间产生所述预测数据。帧内预测总体上包括相对于同一图片的相邻先前经译码块中的参考样本预测一个图片的一个块中的像素值。帧间预测总体上包括相对于先前经译码图片中的参考块的数据预测一个图片的一个块中的像素值。在帧内预测或帧间预测之后,视频编码器可以计算所述块的残余像素值。所述残余值总体上对应于所述块的经预测像素值数据与所述块的真实像素值数据之间的差。举例来说,所述残余值可包括指示经译码像素与预测性像素之间的差的像素差值。在一些实例中,所述经译码像素可以与待译码的像素的一个块相关联,并且所述预测性像素可以与用于预测经译码块的像素的一个或一个以上块相关联。为了进一步压缩一个块的残余值,可以将所述残余值变换成变换域中的一组变换系数。理想的情况是,变换系数将尽可能多的数据(还称为“能量”)压缩成尽可能少的系数。所述变换将像素的残余值从空间域转化成变换域。所述变换系数对应于一般与原始块相同大小的系数的二维矩阵。换句话说,通常仅存在与原始块中的像素一样多的变换系数。但是,归因于所述变换,许多变换系数可能具有等于零的值。视频编码器于是可以将变换系数量化以进一步压缩视频数据。量化总体上包括相对大范围内的值向相对小范围内的值的映射,因而减少了表示经量化变换系数所需的数据的量。在一些情况下,量化可以将一些值减小为零。在量化之后,视频编码器可以扫描变换系数,从包括经量化变换系数的二维矩阵产生一维向量。视频编码器可以接着对所得阵列进行熵编码以甚至进一步压缩数据。在一些实例中,视频编码器可经配置以使用可变长度码(VLC)来表示所述阵列的各种可能经量化变换系数,例如,使用上下文自适应可变长度译码(CAVLC)。在其它实例中,视频编码器可经配置以例如使用上下文自适应二进制算术译码(CABAC)使用二进制算术译码来对所得经量化系数进行编码。本发明描述与在视频译码过程期间对变换系数进行扫描和熵编码有关的几种技术。明确地说,本发明描述与基于变换系数的数目确定是否识别和明确地发信号通知用于扫描变换系数的扫描次序有关的某些技术,所述数目可以通过变换系数矩阵的大小来确定。可以通过视频编码和解码单元两者(包括经配置以执行视频编码和/或解码的视频编码器/解码器(编解码器)和处理单元)来应用所述技术。当前正在致力于研发一种新的视频译码标准,当前被称作高效率视频译码(HEVC)。所述即将来临的标准有时还被非正式地称作ITU-T H.265,但此命名尚未正式作出。所述标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的模型。所提议的HEVC标准假设视频译码装置的优于根据例如ITU-T H.264/AVC配置的其它装置的几种能力。举例来说,虽然H.264提供了九种帧内预测编码模式,但是所提议的HEVC标准提供了多达三十五种帧内预测编码模式。所提议的HEVC标准将视频数据的块称为一个译码单元(CU)。位流内的语法数据可以界定最大译码单元(LCU),这是就像素数目来说的最大译码单元。总的来说,CU具有类似于根据H.264译码的宏块的用途,但是CU并不具有大小区别。因而,一个CU可以分裂成若干子CU。总的来说,本发明中提到CU可以是指图片的最大译码单元或LCU的子CU。LCU可以分裂成若干子CU,并且每一子CU可以分裂成若干子CU。位流的语法数据可以界定LCU可以分裂的最大次数,这被称作CU深度。所以,位流还可界定最小译码单元(SCU)。LCU可以与四叉树数据结构相关联。总的来说,四叉树数据结构包括每个CU —个节点,其中一个根节点对应于所述LCU。如果一个CU分裂成4个子CU,那么对应于CU的节点包括4个叶节点,其中的每一者对应于所述子CU中的一者。四叉树数据结构的每一节点可以提供对应CU的语法数据。举例来说,四叉树中的一个节点可包括一个分裂旗标,这指示对应于所述节点的CU是否分裂成子CU。可以取决于CU是否分裂成子CU来递归地界定CU的语法元素。未分裂的⑶可包括一个或一个以上预测单元(PU)。总的来说,I3U表示对应⑶的全部或一部分,并且包括用于检索PU的参考样本的数据。举例来说,当经帧内模式编码时,I3U可包括描述PU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包括界定PU的运动向量的数据。举例来说,界定运动向量的数据可以描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考帧和/或运动向量的参考列表(例如列表O或列表I)。举例来说,界定PU的CU的数据还可描述将CU分割成一个或一个以上W。分割模式可以在CU未经译码、经帧内预测模式编码或经帧间预测模式编码之间有区别。具有一个或一个以上PU的⑶还可包括一个或一个以上变换单元(TU)。使用PU进行预测之后,视频编码器可以计算PU的残余值。所述残余值可以被变换、量化和扫描。TU不必限于PU的大小。因而,TU可以比相同CU的对应PU更大或更小。所以,一个I3U可以具有单个TU或多个TU。在一些实例中,TU的最大大小可以是对应⑶的大小。本发明还使用术语“块”来指代⑶、PU或TU中的任一者。总的来说,如上所述,本发明的技术涉及对视频数据进行变换、量化、扫描和熵编码。在一些实例中,本发明的技术包括(举例来说)基于与视频数据的一个块相关联的变换系数的数目来确定是否发信号通知用于变换系数的扫描次序。也就是说,在一实例中,本发明的方面涉及基于TU的大小来确定是否发信号通知用于扫描与所述TU相关联的变换系数的扫描次序,其中所述TU的大小提供了对与TU相关联的变换系数的数目的指示。在另一实例中,本发明的方面涉及基于与TU相关联的重要变换系数的数目来确定是否发信号通知用于TU的扫描次序。在又一实例中,本发明的方面涉及基于TU的最后重要变换系数的相对位置来确定是否发信号通知用于TU的扫描次序。在此实例中,可以基于最后重要系数旗标来识别最后重要系数的相对位置,如下文较详细描述。本发明总体上用“扫描次序”指代(举例来说)将经量化变换系数从二维块或矩阵串行化成一维阵列的次序。扫描次序可以通过参照对变换系数进行串行化时变换系数在二维矩阵中的相对位置来识别对变换系数进行串行化的顺序。本发明还可用“扫描图案”来指代将经量化变换系数从二维矩阵串行化成一维阵列的图案。也就是说,扫描图案可以通过参照通过二维矩阵划出的图案(例如,Z形图案)来识别对变换系数进行串行化的顺序。因而,术语“扫描次序”和“扫描图案”两者都可以用来描述如何对变换系数的二维矩阵进行串行化,并且在本文中可以互换使用。在一实例中,本发明的技术包括通过检查与当前正被编码的CU相关联的变换单元(TU)的大小基于变换系数的数目来确定是否产生和发信号通知用于变换系数的扫描次序。举例来说,16X16TU具有256个单独的相关联的变换系数,这些变换系数可以布置成正方形矩阵。根据本发明的一些方面,视频编码器可以仅产生和明确地发信号通知用于超出预定大小阈值的TU的扫描次序。如果TU未超出预定大小阈值,则视频编码器可以在扫描与所述TU相关联的变换系数时使用预定或默认扫描次序。在此实例中,视频编码器可以不向视频解码器发信号通知预定扫描次序。在另一实例中,本发明的技术包括通过确定TU中包括的重要系数的数目基于变换系数的数目来确定是否产生和发信号通知扫描次序。举例来说,如上所述,在变换之后,通常使系数量化以便进一步压缩视频数据。在一些情况下,量化可以将一些值减小为零。因而,在量化之后(并且在串行化之前),TU可包括具有非零值的一个或一个以上变换系数,而一个或一个以上其它变换系数可以具有零值。其余的非零经量化变换系数可被称为“重要”变换系数。本发明的技术包括基于重要变换系数的数目是否超出预定阈值来确定是否发信号通知扫描次序。如果重要变换系数的数目未超出预定阈值,则视频编码器可以在扫描与所述TU相关联的变换系数时使用预定或默认扫描次序。在此实例中,视频编码器可以不向视频解码器发信号通知预定扫描次序。本发明的技术还包括通过识别TU中包括的最后重要系数的位置基于变换系数的数目来确定是否产生和发信号通知扫描次序。也就是说,根据一些实例,视频编码器可以产生TU的重要性图,其中所述重要性图识别TU的重要系数的相对位置。在一实例中,重要性图可以与TU的大小相同,并且包括对应于每一变换系数的旗标。如果所述位置中的对应变换系数非零,则视频译码器可以将重要性旗标设置成“I”的值。替代地,如果所述位置中的对应变换系数是零值,则视频译码器可以将重要性旗标设置成“O”的值。在一些实例中,视频编码器可以用与变换系数相同的方式对重要性图进行串行化和熵编码。在另一实例中,视频编码器可以用相对于变换系数反向的次序对重要性进行串行化。此外,视频编码器可经配置以根据预界定扫描次序(例如,Z形扫描次序)来扫描变换系数矩阵。所以,可以向矩阵的每一变换系数指派一个位置,所述位置识别何时将相对于矩阵的其它变换系数扫描一个给定变换系数。在给定了变换系数位置的情况下,视频编码器可以识别最终非零变换系数(例如,最后“重要”系数)的位置。总的来说,在本发明中,如果在比另一变换系数位置晚的时间扫描特定变换系数,则所述特定变换系数位置可被称为“大于”所述另一变换系数位置。根据本发明的一些方面,视频编码器可以仅产生和发信号通知用于具有大于预定阈值位置的最后重要系数的TU的扫描次序。如果TU在大于预定阈值位置的位置中不具有一个或一个以上重要(即非零)变换系数,则视频编码器可以在扫描与所述TU相关联的变换系数时使用预定或默认扫描次序。在此实例中,视频编码器可以不向视频解码器发信号通知预定扫描次序。虽然相对于视频编码器予以描述,但是应理解此类技术还可通过视频解码器来实施。也就是说,视频解码器可以基于在位流中接收到的变换系数的数目来确定接收到的位流是否包括对扫描次序的指示。举例来说,视频解码器可以基于接收到的TU的大小(例如,基于位流中包括的变换系数的数目)、接收到的TU的重要系数的数目和/或接收到的TU的最后重要系数的位置来确定所述位流是否包括对扫描次序的指示。如果视频解码器确定接收到的位流包括对扫描次序的指示(例如,比如界定扫描次序的一个或一个以上语法元素),则视频解码器可以识别扫描次序并且根据所述扫描次序来扫描(或逆扫描)所述变换系数。也就是说,视频解码器可以应用发信号通知的扫描次序从接收到的位流的串行化阵列产生变换系数的二维阵列。如果视频解码器确定接收到的位流不包括对扫描次序的指示,则视频解码器可以应用默认预界定扫描次序(例如,与视频编码器应用的相同的默认扫描次序)。本发明的技术包括确定是否产生和发信号通知用于对与视频数据的经帧间预测块相关联的变换系数以及与视频数据的经帧内预测块相关联的变换系数进行串行化的扫描次序。另外,当明确地发信号通知扫描次序时,本发明的方面涉及优化此信令。也就是说,举例来说,本发明的技术包括使用上下文信息来改进扫描次序信令。根据本发明的方面,通过使对是否产生和明确地发信号通知特定扫描次序的确定基于需要扫描的变换系数的数目,视频编码器可以在特定扫描次序可能最有效时发信号通知所述特定扫描次序。也就是说,本发明的技术可以在与产生和发信号通知特定扫描次序相关联的计算和信令成本与通过实施特定扫描次序在熵译码期间实现的总信令效率的可能提闻之间达成平衡。举例来说,当对视频数据的块进行编码时,视频编码器可以通过识别特定扫描次序来消耗计算资源。另外,视频编码器可以通过向视频解码器发信号通知特定扫描次序来消耗信令资源。也就是说,可能需要视频编码器向视频解码器发信号通知特定扫描次序,由此增加发送到视频解码器的位流中的位的数目。但是,在有相对大量变换系数的情况下,可以通过熵译码级处的提高的效率来抵消与实施和明确地发信号通知扫描次序相关联的计算和信令成本。举例来说,在有相对大量的变换系数的情况下,实施特定的扫描次序可以提高将非零变换系数朝向变换系数的串行化阵列前面压缩的可能性,由此提高熵译码效率。此外,实施特定的扫描次序可以提高产生相对长串的零值变换系数的可能性,由此进一步提高熵译码效率。也就是说,将非零变换系数朝向变换系数的串行化阵列前面压缩,以及增加成串的零值变换系数,可以允许用较少位来发信号通知变换系数。当对具有相对少的相关联的变换系数和/或重要变换系数的视频数据的相对小块进行编码时,可能不值得产生和明确地发信号通知特定的扫描次序。举例来说,在变换系数相对少的情况下,产生相对长串的零值变换系数的概率减小。所以,通过实施和发信号通知特定的扫描次序在熵译码级处获得的效率可能会因发信号通知扫描次序所需的位而被抵消。在此实例中,视频编码器可以应用预界定或固定扫描次序,可以不必向视频解码器发信号通知此扫描次序。举例来说,在一个简单情况下,视频编码器和视频解码器可以经过对称地预编程以在对变换系数进行串行化时应用某一扫描次序。如上所述,本发明的技术包括基于被串行化的变换系数的数目来确定是否明确地发信号通知特定扫描次序。根据本发明的一些方面,视频编码器可以根据经量化变换系数矩阵的大小来确定变换系数的数目。也就是说,视频编码器可以通过检查与CU相关联的TU的大小来确定变换系数的数目。根据本发明的其它方面,视频编码器可以根据重要系数的数目或最后重要系数的相对位置来确定变换系数的数目。在一些实例中,视频编码器可以仅在TU的大小超出预定阈值大小时产生和发信号通知特定扫描次序。在一实例中,阈值大小可以是变换系数的8x8矩阵,但是可以使用多种其它阈值大小(例如,4x4、16x16及类似大小)。也就是说,视频编码器可以仅在TU的大小超出变换系数的8x8矩阵时产生和发信号通知特定扫描次序。如果TU未超出大小阈值,则视频编码器可以使用默认或预界定扫描次序(例如,Z形扫描次序)。在此情况下,视频编码器可以不必向视频解码器发信号通知扫描次序。替代地或另外,视频编码器可以仅在重要变换系数的数目超出预定阈值时产生和发信号通知特定扫描次序。在一实例中,阈值位置可以是八,但是可以使用多种其它阈值位置(例如,六、10、20及类似位置)。也就是说,视频编码器可以仅在存在至少八个重要变换系数的情况下产生和发信号通知特定扫描次序。如果TU不包括比阈值多的重要变换系数,则视频编码器可以在扫描与TU相关联的变换系数时使用预定或默认扫描次序,可以不必向视频解码器发信号通知所述扫描次序。替代地或另外,视频编码器可以仅在最后重要系数的位置大于预定阈值位置时产生和发信号通知特定扫描次序。在一实例中,阈值位置可以是八,但是可以使用多种其它阈值位置。也就是说,视频编码器可以仅在最后重要变换系数之前存在八个变换系数的情况下产生和发信号通知特定扫描次序。如果TU在大于预定阈值位置的位置中不具有一个或一个以上重要(即非零)变换系数,则视频编码器可以在扫描与所述TU相关联的变换系数时使用预定或默认扫描次序,可以不必向视频解码器发信号通知所述扫描次序。本发明的方面涉及确定是否产生和发信号通知用于视频数据的经帧间预测块以及视频数据的经帧内预测块的扫描次序。如上所述,视频编码器可以相对于先前经译码图片的数据对视频数据的块进行帧间预测。总的来说,归因于经预测数据的固有不一致性,可能难以预计非零变换系数在变换系数矩阵中的位置。也就是说,非零变换系数可以散布在给定变换系数矩阵各处。所以,视频编码器可以应用预界定和固定扫描图案(例如,Z形扫描图案)来扫描变换系数。在另一实例中,对于经帧间预测块,视频编码器可以应用自适应扫描图案来扫描变换系数。也就是说,视频编码器可以首先实施固定扫描图案,但在对图片的块进行编码时调适或更新扫描图案。举例来说,视频编码器可以收集指示在一些位置处的系数是否倾向于是零值的统计数据,并且如果特定位置处的系数通常是零值,则视频编码器可以选择比通常具有非零值的其它系数晚地扫描所述系数。本发明的技术包括基于被串行化的变换系数的数目来确定是否产生或识别和明确地发信号通知经帧间预测块的扫描次序。根据本发明的方面,视频编码器可以仅在与当前正被编码的块相关联的TU超出某一大小时明确地发信号通知特定的扫描次序。也就是说,在选择扫描次序之前,视频编码器可以确定与正被编码的块相关联的TU的大小是否超出预定阈值大小。根据本发明的一些方面,如果TU的大小未超出预定阈值大小,则视频编码器可以利用预界定固定扫描次序(例如,Z形扫描图案)。在此情况下,视频编码器可以不发信号通知扫描次序。但是,如果TU的大小超出阈值大小,则视频编码器可以识别或产生和明确地发信号通知扫描次序以试图提高熵译码效率。举例来说,视频编码器可以使用指示某些位置的系数是否倾向于是零值的统计数据来开发自适应扫描图案。在其它实例中,视频编码器可以通过测试多种预界定扫描次序和选择最有效扫描次序来动态地选择扫描次序。在此些实例中,视频编码器可以向视频解码器发信号通知自适应或选定扫描次序。在其它实例中,视频编码器可以仅在重要变换系数的数目超出预定阈值或最后重要系数的相对位置大于预定阈值位置时产生和发信号通知特定扫描次序。也就是说,在选择扫描次序之前,视频编码器可以确定最后重要系数位置是否大于预定阈值位置。如果最后重要系数位置未超出阈值,则视频编码器可以利用未发信号通知的预界定固定扫描次序。但是,如果最后重要系数位置确实超出阈值,则视频编码器可以识别或产生和明确地发信号通知扫描次序以试图提高熵译码效率。关于视频数据的经帧内预测块,如上所述,视频编码器可以使用特定帧内预测模式对块进行帧内预测。举例来说,与所提议的HEVC标准兼容的视频编码器可以配置有多达三十五种帧内预测模式。在一些实例中,视频编码器可以使用单个固定扫描图案(例如,Z形图案)来扫描与经帧内预测块相关联的变换系数。在其它实例中,视频编码器可以基于另一译码过程来选择扫描图案。
举例来说,在帧内预测之后,视频编码器可以基于用于预测的帧内预测模式来扫描变换系数。也就是说,即使在向残余值的二维矩阵应用了可分离的定向变换之后,所得二维变换系数矩阵仍然可能展示出某种定向性。举例来说,考虑使用垂直帧内预测模式来预测视频数据的块。在预测、变换和量化之后,与所述块相关联的非零经量化变换系数可能倾向于沿水平方向存在(例如,沿二维矩阵的相对顶部)。所以,视频译码器可以扫描水平方向中的变换系数,使得二维矩阵中的非零系数可进一步朝向所得一维向量的开头压缩。本发明的技术包括基于被串行化的变换系数的数目来确定是否产生或识别和明确地发信号通知用于视频数据的经帧内预测块的扫描次序。根据本发明的方面,视频编码器可以仅在与当前正被编码的块相关联的TU超出某一大小时明确地发信号通知特定的扫描次序。在另一实例中,视频编码器可以仅在当前正被编码的TU的重要变换系数的数目超出预定阈值时明确地发信号通知特定的扫描次序。在另一实例中,视频编码器可以仅在当前正被编码的TU的最后重要系数的相对位置超出预定阈值位置时明确地发信号通知特定的扫描次序。视频编码器可以识别或产生和明确地发信号通知扫描次序以试图提高熵译码效率。举例来说,视频编码器可以通过测试多种扫描次序和选择对于所述视频数据的块最有效的扫描次序(例如,根据速率失真或其它指示效率的特性)动态选择扫描次序,或使用基于指示某些位置处的系数是否倾向于是零值的统计数据的自适应扫描次序。根据本发明的一些方面,如果视频编码器未产生特定的扫描次序,则视频编码器可以利用预界定固定扫描次序(例如,Z形扫描图案)。在此情况下,视频编码器可以不发信号通知扫描次序。以此方式,基于被串行化的变换系数的数目来确定是否产生和发信号通知特定的扫描次序,可以辅助平衡与识别和明确地发信号通知扫描次序相关联的计算和信令成本与在熵译码级处实现的增益。虽然本发明的某些方面涉及基于与一个变换单元(TU)相关联的变换系数(或重要变换系数)的数目来确定是否产生和发信号通知扫描次序,但是应理解,本发明的技术大体上涉及确定提高的熵译码效率(通过使用特定的扫描次序而实现)是否可以超过与确定和发信号通知扫描次序相关联的计算和信令成本。所以,在某些实例中,其它译码度量值可用于确定产生和发信号通知特定的扫描次序是否将是有效的。举例来说,并非检查TU的大小,视频编码器可以基于与正被编码的CU相关联的变换系数的数量来确定是否产生和发信号通知扫描次序。在另一实例中,视频编码器可以基于CU或PU的大小来确定是否产生和发信号通知扫描次序,所述大小可以间接地提供对视频数据进行译码所需的变换系数的数目的指示。也就是说,虽然CU或PU可能未提供对重要变换系数的数目的指示,但是相对大的⑶或PU可能更有可能包括更大数目的重要变换系数。本发明的技术还包括当明确地发信号通知扫描次序时,优化此信令。举例来说,如上所述,扫描变换系数的二维矩阵产生随后可被熵编码的一维向量。在一些实例中,视频编码器可以使用可变长度码、上下文自适应二进制算术译码(CABAC)和其它熵译码方法对变换系数进行熵编码。在此些实例中,视频编码器还可对语法元素(例如,举例来说,重要系数旗标和最后系数旗标)进行熵编码。根据本发明的方面,视频编码器还可对变换系数的扫描次序进行熵编码。也就是说,举例来说,本发明提供用于使用基于上下文的可变长度码(VLC)表和/或依赖于来自当前正被编码的CU的译码信息的上下文信息或相邻CU的上下文信息(例如,预测模式/方向、预测单元大小、非零系数的数目及类似信息)的算术译码方法来发信号通知扫描次序的技术。图1是图解说明可以利用用于确定是否明确地发信号通知用于一译码单元的扫描次序的技术的实例视频编码和解码系统10的框图。如图1中所示,系统10包括源装置12,其经由通信信道16将经编码视频发射到目的装置14。源装置12和目的装置14可包含各种各样的装置中的任一者。在一些情况下,源装置12和目的装置14可包含无线通信装置,例如无线手持机、所谓的蜂窝式或卫星无线电电话,或可在通信信道16(在此情况下,通信信道16为无线的)上传送视频信息的任何无线装置。但是本发明的技术(其涉及确定是否明确地发信号通知用于译码单元的扫描次序)不必限于无线应用或设置。举例来说,这些技术可适用于空中电视广播、有线电视发射、卫星电视发射、因特网视频发射、经编码到存储媒体上的经编码数字视频,或其它情况。所以,通信信道16可包含适合于发射或存储经编码视频数据的无线或有线媒体的任何组
口 ο在图1的实例中,源装置12包括视频源18、视频编码器20、调制器/解调器(调制解调器)22和发射器24。目的装置14包括接收器26、调制解调器28、视频解码器30和显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用本发明的用于对变换单元进行编码和解码的技术。在其它实例中,源装置和目的装置可包括其它组件或布置。举例来说,源装置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使用,所述信息包括描述译码单元或经译码视频数据的其它单元(例如,图片群组(GOP)、切片、帧及类似单元)的特性和/或处理的语法元素。四叉树数据结构可以形成用于最大译码单元的语法信息的一部分。也就是说,每一 LCU可包括四叉树形式的语法信息,其可以描述如何将LCU分裂成子CU以及关于如何对LCU和子CU进行编码的信令信息。视频解码器30可以使用所述四叉树来确定如何对接收到的图片的CU进行解码。视频解码器30接着可以对CU进行解码,并且将经解码视频数据发送到显示装置32。显示装置32向用户显示经解码视频数据,且可包含多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显
示装置。在图1的实例中,通信信道16可包含任何无线或有线通信媒体,例如,射频(RF)频谱或一个或一个以上物理传输线、或无线和有线媒体的任一组合。通信信道16可形成例如局域网、广域网或例如因特网的全球网络的基于包的网络的部分。通信信道16总体上表示用于将视频数据从源装置12发射到目的装置14的任何合适的通信媒体或不同通信媒体的集合,包括有线或无线媒体的任何合适组合。通信信道16可包括可用于促进从源装置12到目的装置14的通信的路由器、交换器、基站或任何其它设备。视频编码器20和视频解码器30可以根据一种视频压缩标准(例如ITU-T H.264标准,替代地被称作MPEG-4,第10部分,高级视频译码(AVC))操作。作为另一实例,视频编码器20和视频解码器30可以根据高效率视频译码(HEVC)标准操作,并且可以符合HEVC测试模型(HM)。但是,本发明的技术不限于任何特定译码标准,并且可以适用于HEVC或当前可用的或将来可能出现的其它标准或专有译码过程。其它实例包括MPEG-2和ITU-T
H.263。尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包括适当的MUX-DEMUX单元或其它硬件和软件,以处理对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,MUX-DEMUX单元可符合ITU
H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。ITU-T H.264/MPEG-4 (AVC)标准是由 ITU-T 视频译码专家组(Video CodingExperts Group, VCEG)连同IS0/IEC动画专家组(MPEG)制定以作为被称为联合视频小组(Joint Video Team7JVT)的集体伙伴关系的产品。在一些方面中,本发明中所描述的技术可应用于总体上符合H.264标准的装置。ITU-T研究组在2005年3月在ITU-T推荐H.264“用于通用音视频服务的高级视频译码(Advanced Video Coding for generic audiovisualservices) ”中描述了 Η.264标准,其在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。联合视频组(JVT)持续致力于扩展H.264/MPEG-4AVC。视频编码器20和视频解码器30各自可经实施为例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合的多种合适编码器电路中的任一者。当以软件实施所述技术时,装置可将用于所述软件的指令存储于合适的非暂时性计算机可读媒体中且使用一个或一个以上处理器执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可包括于一个或一个以上编码器或解码器中,所述编码器或视频解码器中的任一者可作为组合式编码器/解码器(编解码器)的一部分而集成于相应相机、计算机、移动装置、订户装置、广播装置、机顶盒、服务器或类似装置中。视频序列通常包括一系列视频帧。图片群组(GOP)总体上包含一系列一个或一个以上视频帧。GOP可包括GOP的标头、GOP的一个或一个以上帧的标头或其它地方中的语法数据,其描述GOP中包括的帧的数目。每一帧可包括描述相应帧的编码模式的帧语法数据。视频编码器20通常对各个视频帧内的译码单元进行操作以便对视频数据进行编码。译码单元可以对应于LCU或子CU,并且术语CU可以指代LCU或子CU。LCU的标头信息可以描述LCU的大小、LCU可以分裂的次数(在本发明中被称作CU深度)和其它信息。每一视频帧可包括多个切片,并且每一切片可包括多个IXU。作为一实例,HEVC测试模型(HM)支持各种⑶大小的预测。IXU的大小可以通过语法信息来界定。假设特定CU的大小是2NX2N,则支持2NX2N或NxN大小的帧内预测,并且支持2Nx2N、2NxN、Nx2N或NxN的对称大小的帧间预测。在本发明中,“NxN”和“N乘N”可以互换使用以在垂直和水平尺寸方面指代块(例如,⑶、PU或TU)的像素尺寸,例如16x16像素或16乘16像素。总的来说,16x16块将在垂直方向上具有16个像素(y= 16),并且在水平方向上具有16个像素(x = 16)。同样,NxN块总体上在垂直方向上具有N个像素,并且在水平方向上具有N个像素,其中N表示非负整数值。一块中的像素可布置成若干行和若干列。此外,块未必需要在水平方向上具有与在垂直方向上相同数目的像素。举例来说,块可包含NxM个像素,其中M不必等于N。⑶的I3U可包含空间域(还称为像素域)中的像素数据,而⑶的TU可包含变换域中的系数,例如在向残余视频数据应用变换(例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)之后。残余数据总体上表示PU的值与来自输入视频数据的并置的未编码像素的值之间的像素差。TU可包括变换域中的经量化值。当使用DCT来变换TU的系数时,所述TU的系数可以被称为是在频率域中。视频编码器20可以实施本发明的任何或所有技术以确定是否明确地发信号通知用于译码单元的扫描次序。同样,视频解码器30可以实施任何或所有这些技术来确定是否使用了默认扫描次序之外的特定扫描次序来扫描变换系数。视频编码器20可以接收IXU并且确定是否将所述IXU分裂成四个象限,每一象限包含一个子⑶,或是否不加分裂地对所述IXU进行编码。在决定将IXU分裂成子⑶之后,视频编码器20可以确定是否将每一子CU分裂成四个象限,每一象限包含一个子CU。视频编码器20可以继续递归地确定是否分裂CU,其中分裂的最大数目由LCU深度指示。视频编码器20可以提供一个指示IXU和IXU的子⑶的分裂的四叉树数据结构。IXU可以对应于四叉树的根节点。四叉树的每一节点可以对应于IXU的一个⑶。此外,每一节点可包括一个指示对应CU是否分裂的分裂旗标值。如果LCU被分裂,举例来说,则视频编码器20可以在根节点中设置分裂旗标的值以指示LCU经过分裂。那么,视频编码器20可以设置根节点的子节点的值以指示LCU的哪些子CU(如果存在的话)经过分裂。未分裂的CU可以对应于四叉树数据结构的叶节点,其中叶节点不具有子节点。视频编码器20可以对对应于四叉树数据结构中的叶节点的LCU的每一子CU进行编码。出于实例的目的,本发明描述相对于帧内预测编码的技术。因而,在此假设下,视频编码器20可以为对应于四叉树数据结构中的叶节点的每一 CU形成预测单元(PU)。在一些实例中,视频编码器20可以选择用于LCU的三十五种不同帧内预测模式中的一者,并且在四叉树的根节点中发信号通知选定帧内预测模式。然后,对于对应于叶节点的每一 CU,视频编码器20可以确定是否形成与CU相同大小的一个PU,或形成表示CU的象限的四个PU。每一 对应于根据所述选定帧内预测模式从相邻先前经译码CU检索的预测数据。在帧内预测性或帧间预测性译码以产生⑶的之后,视频编码器20可以计算残余数据以产生残余值,且然后向CU的一个或一个以上变换单元(TU)应用变换。所述残余数据可以对应于未编码图片的像素与CU的PU的预测值之间的像素差。视频编码器20可以形成包括所述CU的残余数据的一个或一个以上TU。视频编码器20可以接着变换所述TU0视频编码器20可以基于用于对CU的PU进行帧内模式预测的帧内预测模式来选择变换。在一些实例中,视频编码器20可经配置以向TU应用一种以上变换,也就是说,级联的变换。通过变换TU的残余数据,视频编码器20产生变换系数的矩阵。此矩阵总体上具有与变换的输入块相同的大小。总的来说,所述变换过程使用数学变换来变换残余数据。变换之后通常是量化,其进一步压缩所述数据。量化总体上指代将变换系数量化以可能地减少用于表示系数的数据量的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,η位值可在量化期间被下舍入到m位值,其中η大于m。在一些实例中,视频编码器20可以使用预界定扫描次序来扫描经量化变换系数以产生可被熵编码的向量。也就是说,视频编码器20可以使用预界定扫描次序(例如Z形扫描次序)将经量化变换系数串行化。在其它实例中,视频编码器20可以执行自适应扫描。为了执行自适应扫描,视频编码器20可以追踪指示变换系数的矩阵中的特定位置是否或多或少可能重要(例如,非零)的统计数据。视频编码器20可以随时间调适扫描图案,使得扫描图案对应于这些统计可能性。也就是说,自适应扫描图案可以试图确保先扫描具有相对高的重要(例如,非零)的概率的变换系数,然后扫描具有相对低的重要的概率的变换系数。根据本发明的方面,视频编码器20可以基于被串行化的变换系数的数目来确定是否产生和发信号通知特定扫描次序,所述数目可以根据与被编码的视频数据的块相关联的变换单元(TU)的大小来确定。举例来说,视频编码器20可以仅在TU的大小超出预定阈值大小时发信号通知特定扫描次序。在一实例中,视频编码器可以仅在TU的大小超出变换系数的8x8矩阵时产生和发信号通知特定扫描次序,但是也可使用其它大小(例如,4x4矩阵、16x16矩阵及类似矩阵)。在一些实例中,如果TU确实超出大小阈值,则视频编码器20可以应用和发信号通知默认或预定扫描次序之外的扫描次序。也就是说,在一实例中,视频编码器20可以应用自适应扫描次序,并且向视频解码器30发信号通知自适应扫描次序。在另一实例中,视频编码器20可以测试一种以上预编程扫描次序,并且选择最有效扫描次序,例如,所述扫描次序将最重要变换系数朝向变换系数的串行化阵列前面压缩,和/或产生长串的零值变换系数。在选择了扫描次序之后,视频编码器20可以向视频解码器30发信号通知选定扫描次序。如果TU未超出大小阈值,则视频编码器20可以使用预界定扫描次序。此外,在此情况下,视频编码器20可以不发信号通知所述扫描次序。如下文更详细论述,视频解码器30可经配置以应用相同预界定扫描次序。根据本发明的方面,视频编码器20还可基于被串行化的重要变换系数的数目或通过确定与TU相关联的最后重要系数旗标的位置来确定是否产生和发信号通知一个特定扫描次序。举例来说,视频编码器20可以仅产生和明确地发信号通知用于具有大于预定阈值位置的最后重要系数的TU的扫描次序。如果TU在大于预定阈值位置的位置中不具有一个或一个以上重要(即非零)变换系数,则视频编码器可以在扫描与所述TU相关联的变换系数时使用预定或默认扫描次序。在此实例中,视频编码器可以不向视频解码器30发信号通知预定扫描次序。当发信号通知特定扫描次序时,视频编码器20可以通过明确地发信号通知扫描次序来指示所述扫描次序。也就是说,视频编码器20可包括位流中的界定扫描次序的一个或一个以上语法元素。在另一实例中,视频编码器20可以使用索引值指示特定扫描次序。也就是说,视频编码器20可以在位流中提供索引值,其识别扫描次序的预界定表(例如,扫描次序的查找表)中的一个特定扫描次序。在此实例中,视频解码器30可包括扫描次序的类似表,由此允许视频解码器30在接收到所述索引后即刻选择特定扫描次序。在一些实例中,无论是使用自适应扫描还是预定扫描,视频编码器20都可以在扫描之后将阵列中的系数置零。也就是说,视频编码器20可以将位置N到阵列末尾的系数的值设置成等于零。N的值可以与CU的大小和/或TU的大小有关。在一些实例中,视频编码器20可以将所述矩阵中的一些变换系数在被扫描之前置零,例如,矩阵中的除了矩阵左上角中的系数之外的所有系数。在扫描所述变换矩阵以形成一维向量之后,视频编码器20可对所述一维向量进行熵编码,例如根据内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)或另一熵译码方法。为了执行CAVLC,视频编码器20可以选择用于待发射的符号的可变长度码。VLC中的码字可以经构造,使得相对短的代码对应于更有可能的符号,而较长的代码对应于不太可能的符号。以此方式,使用VLC可以举例来说实现优于对待发射的每一符号使用等长码字的位节省。为了执行CABAC,视频编码器20可以选择待应用于某一上下文以对待发射的符号进行编码的上下文模型。举例来说,所述上下文可以涉及相邻值是否为非零。视频编码器20还可对语法元素进行熵编码,例如在执行自适应扫描时产生的重要系数旗标和最后系数旗标。根据本发明的技术,当视频编码器20识别出特定扫描次序(例如,如果变换系数的数目超出阈值)时,视频编码器20可以对所述扫描次序进行熵编码。举例来说,视频编码器20可以使用基于上下文的可变长度码(VLC)表和/或依赖于来自当前正被编码的CU的译码信息的上下文信息或相邻CU的上下文信息(例如,预测模式/方向、预测单元大小、非零系数的数目及类似信息)的算术译码方法来发信号通知扫描次序。视频解码器30可以接收表示经编码⑶的经熵编码数据,包括经编码和TU数据。视频解码器30可以对接收到的数据进行逆熵编码,从而形成经编码量化系数。当视频编码器20使用可变长度码算法对数据进行熵编码时,视频解码器30可以使用一个或一个以上VLC表来确定对应于接收到的码字的符号。当视频编码器20使用算术译码算法对数据进行熵编码时,视频解码器30可以使用上下文模型对所述数据进行解码,所述上下文模型可以对应于视频编码器20用来对所述数据进行编码的相同的上下文模型。视频解码器30可以接着使用镜射视频编码器20使用的扫描的逆扫描对经解码系数进行逆扫描。为了对系数进行逆自适应扫描,视频解码器30可以对包括重要系数旗标和最后系数旗标的语法元素进行解码。以此方式,视频解码器30可以再生视频编码器20用来执行自适应扫描的统计数据。视频解码器30可以由此从由熵解码过程产生的一维向量形成二维矩阵。根据本发明的方面,视频解码器30可经配置以应用预定默认逆扫描次序(例如,与视频编码器20应用的预定扫描次序对称),或应用视频编码器20发信号通知的的逆扫描次序。也就是说,视频解码器30可以利用特定的逆扫描次序(如果视频编码器20发信号通知了一个逆扫描次序的话),但可以使用预界定默认扫描次序(如果视频编码器20未发信号通知扫描次序的话)。在一些实例中,为了确定是否解码和应用特定的逆扫描次序,视频解码器30可以应用视频编码器20应用的相同扫描次序信令限制。也就是说,视频解码器30可以基于被扫描的变换系数的数目来确定是否识别(例如,识别对所应用的特定扫描次序的指示)和应用特定的逆扫描次序。举例来说,根据本发明的方面,视频解码器30可以仅在与当前正被解码的块相关联的TU超出某一大小时识别特定的扫描次序。在另一实例中,视频解码器30可以仅在当前正被编码的TU的重要变换系数的数目超出预定阈值时识别特定的扫描次序。在另一实例中,视频解码器30可以仅在当前正被编码的TU的最后重要系数的相对位置超出预定阈值位置时识别特定的扫描次序。在此些实例中,如果视频解码器30未识别特定的扫描次序(例如,视频编码器发信号通知的扫描次序),则视频解码器30可以应用预编程默认扫描次序来扫描变换系数。接下来,视频解码器30可以将逆扫描产生的二维矩阵中的系数逆量化。视频解码器30可以接着向二维矩阵应用一个或一个以上逆变换。所述逆变换可以对应于视频编码器20应用的变换。视频解码器30可以基于(举例来说)用于形成的帧内预测模式来确定要应用的逆变换,并且如果对于特定大小的TU有多个变换可用,则基于对应于在当前正被解码的CU的四叉树的根处发信号通知的信息来确定要应用的逆变换。视频编码器20和视频解码器30各自可以经实施为可适用的多种合适的编码器或解码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器20和视频解码器30中的每一者可以包括在一个或一个以上编码器或解码器中,所述编码器或解码器中的任一者可以集成为组合式视频编码器/解码器(编解码器)的一部分。包括视频编码器20和/或视频解码器30的设备可包含集成电路、微处理器、和/或无线通信装置,例如蜂窝式电话。图2是图解说明可以实施本发明中描述的用于确定是否明确地发信号通知用于译码单元的扫描次序的任何或所有技术的视频编码器20的实例的框图。视频编码器20可以对视频帧内的CU执行帧内和帧间译码。帧内译码依赖于空间预测来减少或移除给定视频帧内的视频中的空间冗余。帧间译码依赖于时间预测来减少或移除当前帧与视频序列的先前经译码帧之间的时间冗余。帧内模式(I模式)可以指代若干基于空间的压缩模式中的任一者,并且帧间模式(例如单向预测(P模式)或双向预测(B模式))可以指代若干基于时间的压缩模式中的任一者。如图2中所示,视频编码器20接收待编码视频帧内的当前视频块。在图2的实例中,视频编码器20包括运动补偿单元44、运动估计单元42、帧内预测单元46、参考帧存储装置64、求和器50、变换单元52、量化单元54、系数扫描单元55和熵译码单元56。图2中图解说明的变换单元52是执行实际变换的单元,请勿与具有CU的TU混淆。为了进行视频块重构,视频编码器20还包括逆量化单元58、逆变换单元60和求和器62。还可包括解块滤波器(图2中未展示)以将块边界滤波,以从经重构的视频移除成块性假影。在需要时,解块滤波器通常将对求和器62的输出进行滤波。在编码过程期间,视频编码器20接收待译码的视频帧或切片。帧或切片可被分割成多个视频块,例如,最大译码单元(LCU)。运动估计单元42和运动补偿单元44相对于一个或一个以上参考帧中的一个或一个以上块执行对所接收的视频块的帧间预测性译码以提供时间压缩。帧内预测单元46可相对于与待译码块相同的帧或切片中的一个或一个以上相邻块执行对所接收的视频块的帧内预测性译码以提供空间压缩。模式选择单元40可以例如基于错误结果或速率失真计算来选择译码模式中的一者(帧内或帧间),并且向求和器50提供所得经帧内或经帧间译码块以产生残余块数据,并且向求和器62提供所得经帧内或经帧间译码块以重构经编码块供参考帧中使用。某些视频帧可以被指定为I帧,其中I帧中的所有块都在帧内预测模式下编码。在一些情况下,帧内预测单元46可以在例如运动估计单元42执行的运动搜索未产生对块的足够预测的情况下执行P或B帧中的块的帧内预测编码。运动估计单元42和运动补偿单元44可以高度集成,但出于概念目的分开加以图解说明。运动估计是产生估计视频块的运动的运动向量的过程。举例来说,运动向量可以指示当前帧中的预测单元相对于参考帧的参考样本的位移。参考样本是被发现在像素差方面与⑶的包括经译码PU的部分密切匹配的块,像素差可以通过绝对差总和(SAD)、平方差总和(SSD)或其它差异度量值来确定。运动补偿单元44执行的运动补偿可以包括基于运动估计确定的运动向量来取出或产生用于所述预测单元的值。同样,在一些实例中,运动估计单元42和运动补偿单元44可以在功能上集成。运动估计单元42通过将预测单元与存储在参考帧存储装置64中的参考帧的参考样本比较来计算经帧间译码帧的预测单元的运动向量。在一些实例中,视频编码器20可以计算存储在参考帧存储装置64中的参考帧的子整数像素位置的值。举例来说,视频编码器20可以计算四分之一像素位置、八分之一像素位置或参考帧的其它分数像素位置的值。因此,运动估计单元42可以相对于整数像素位置和分数像素位置执行运动搜索并且输出具有分数像素精度的运动向量。运动估计单元42将计算出的运动向量发送到熵译码单元56和运动补偿单元44。参考帧的由运动向量识别的部分可被称为参考样本。运动补偿单元44可计算用于当前CU的预测单元的预测值,例如通过检索由用于所述的运动向量识别的参考样本。作为运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可以对接收到的块进行帧内预测编码。帧内预测单元46可以相对于相邻先前经译码块(例如,当前块的上方、上方右侧、上方左侧或左侧的块)对接收到的块进行编码,假设块的编码次序为从左向右、从上向下。帧内预测单元46可以配置有多种不同帧内预测模式。举例来说,帧内预测单元46可以基于被编码的CU的大小而配置有某个数目的定向预测模式,例如35种定向预测模式。帧内预测单元46可以(举例来说)通过计算各种帧内预测模式的错误值或速率失真(例如,试图使压缩最大化而不超出预定失真)和选择得出最低错误值的模式来选择帧内预测模式。定向预测模式可包括用于组合空间相邻像素的值和向PU中的一个或一个以上像素位置应用所述组合值的功能。一旦已经计算了 PU中的所有像素位置的值,帧内预测单元46便可以基于与待编码的接收到的块之间的像素差来计算所述预测模式的错误值。帧内预测单元46可以继续测试帧内预测模式,直到发现得出可接受错误值的帧内预测模式为止。帧内预测单元46可以接着将发送到求和器50。视频编码器20通过从被译码的原始视频块减去由运动补偿单元44或帧内预测单元46计算的预测数据来形成残余块。求和器50表示执行此减法运算的组件。残余块可以对应于值的二维矩阵,其中残余块中的值的数目与对应于所述残余块的I3U中的像素的数目相同。残余块中的值可以对应于PU中的并置像素与待译码的原始块中的并置像素之间的差。变换单元52可以从残余块形成一个或一个以上变换单元(TU)。变换单元52向TU应用变换,例如离散余弦变换(DCT)、定向变换或概念上类似的变换,从而产生包含变换系数的视频块。所以,变换单元52可以基于对从帧内预测单元46接收到的帧内预测模式的指示来选择待应用于TU的变换。变换单元52可以将所得变换系数发送到量化单元54。量化单元54可以接着将变换系数量化。如上所述,量化总体上包括相对大范围内的值向相对小范围内的值的映射,因而减少了表示经量化变换系数所需的数据的量。在一些情况下,量化可以将一些值减小为零。量化之后,系数扫描单元55可以扫描经量化变换系数以使经量化变换系数从二维矩阵串行化到一维阵列。总的来说,系数扫描单元55可以应用固定预界定扫描图案来扫描经量化变换系数,例如Z形图案(如相对于图4展示和描述)。在其它实例中,系数扫描单元55可以从帧内预测单元46或从变换单元52接收对所述选定帧内预测模式的指示,并且基于所述帧内预测模式应用扫描图案。系数扫描单元55还可基于当前TU的各种特性来选择和应用特定扫描,所述特性例如是(举例来说)块类型(帧间或帧内)和/或应用于TU的变换的类型(例如,DCT或KLT)。在另外其它实例中,系数扫描单元55可以从多个扫描次序中选择一个特定扫描次序。也就是说,举例来说,系数扫描单元55可以从多个预界定扫描次序中选择最有可能提高熵译码效率的扫描次序(例如,将变换系数朝向阵列前面压缩的扫描次序)。在另一实例中,系数扫描单元55可经配置以执行自适应扫描。首先(例如,对于当前帧的第一 TU),系数扫描单元55可以使用预定扫描图案。随时间,系数扫描单元55可以更新扫描图案以执行自适应扫描。总的来说,自适应扫描的目标是确定特定变换系数将非零的概率。于是,扫描次序总体上从具有非零的最高概率的系数进行到具有非零的最低概率的系数。系数扫描单元55可以使用各种统计数据和计算来随时间确定这些概率。此外,系数扫描单元55可以追踪每一帧内预测模式、变换、级联的变换或其任何组合的单独统计数据。根据本发明的方面,系数扫描单元55可以基于被串行化的变换系数的数目来确定是否产生和应用特定扫描次序,所述数目可以根据与被编码的视频数据的块相关联的变换单元(TU)的大小、重要变换系数的数目或根据最后重要系数的位置来确定。在一些实例中,系数扫描单元55可以负责确定是否产生和应用特定扫描次序,而视频编码器20的另一单元(例如熵译码单元56)可以负责发信号通知扫描次序,即产生待发送到另一装置(例如视频解码器)的位流。在一些实例中,系数扫描单元55可以仅在经量化变换系数的数目超出阈值时产生和/或应用特定扫描次序,这可以根据被扫描的TU的大小是否超出预定阈值大小来确定。在一实例中,视频编码器20可以仅在TU的大小超出变换系数的8x8矩阵时产生和/或应用特定扫描次序,但是也可使用其它大小(例如,4x4矩阵、16x16矩阵及类似矩阵)。如果TU确实超出大小阈值,则系数扫描单元55可以选择和应用除默认或预定扫描次序之外的扫描次序。在一实例中,系数扫描单元55可以基于当前TU的各种特性选择扫描次序,所述特性例如是(举例来说)块类型(帧间或帧内)、预测模式(针对经帧内预测块)和/或应用于TU的变换的类型(例如,DCT或KLT)。在其它实例中,系数扫描单元55可以从多个扫描图案中选择最有可能提高熵译码效率的扫描图案。系数扫描单元55还可产生和应用自适应扫描次序来扫描变换系数。除了选择和应用特定扫描次序之外,系数扫描单元55还可发信号通知或提示视频编码器20的另一单元(例如熵译码单元56)发信号通知选定扫描次序。如上所述,所述扫描次序可以被明确地发信号通知,或使用对应于预界定扫描次序的查找表的索引值来指示。作为替代方案,如果TU未超出大小阈值,则系数扫描单元55可以应用默认或预定扫描次序。在此情况下,系数扫描单元33可能不发信号通知或可能不提示视频编码器的另一单元(例如熵译码单元56)发信号通知特定扫描次序。在另一实例中,系数扫描单兀55可以仅在TU具有大于预定阈值位置(例如,阈值位置为八)的最后重要系数时产生和/或应用特定扫描次序,其可以指示重要变换系数的数目。如果TU在大于预定阈值位置的位置中不具有一个或一个以上重要变换系数,则系数扫描单元55可以应用未发信号通知的默认或预定扫描次序。根据本发明的一些方面,归属于系数扫描单元55的某些技术(例如确定是否明确地发信号通知扫描次序)可以由视频编码器20的另一单元执行。举例来说,在替代布置中,熵译码单元56或量化单元54可经配置以确定是否选择和明确地发信号通知扫描次序。熵译码单元56可以对串行化经量化变换系数以及用于所述系数的语法元素进行熵编码。根据本发明的一些方面,熵译码单元56可以与系数扫描单元串联工作。也就是说,举例来说,熵译码单元56可以在系数扫描单元55执行扫描的同时对串行化变换系数和语法元素进行熵编码。所述语法元素可包括指示特定系数是否重要(例如,非零)的重要系数旗标和指示特定系数是否为自适应扫描中扫描的最后系数的最后系数旗标。视频解码器可以使用这些语法元素对熵译码单元56编码的系数进行逆扫描。在一些实例中,视频解码器可以使用语法元素来重构动态更新扫描表,使得视频解码器可对熵译码单元56编码的系数进行逆扫描。为了对语法元素进行熵编码,熵译码单元56可以执行CABAC和基于(举例来说)先前扫描的N个系数中的重要系数的数目来选择上下文模型,其中N是可能与被扫描的块的大小有关的整数值。熵译码单元56还可基于用于计算被变换成变换系数的块的残余数据的预测模式和用于将残余数据变换成变换系数的块的变换类型来选择上下文模型。当使用帧内预测模式预测了对应预测数据时,熵译码单元56可以进一步使上下文模型的选择基于帧内预测模式的方向。根据本发明的方面,熵译码单元56可以执行熵编码以对变换系数的扫描次序进行译码。也就是说,举例来说,熵译码单元56可以使用基于上下文的可变长度码(VLC)表和/或依赖于来自当前正被编码的CU的译码信息的上下文信息或相邻CU的上下文信息(例如,预测模式/方向、预测单元大小、非零系数的数目及类似信息)的算术译码方法来发信号通知扫描次序。在一些情况下,熵译码单元56或视频编码器20的另一单元可经配置以执行除了熵译码之外的其它译码功能。举例来说,熵译码单元56可经配置以确定用于宏块和分区的CBP值。而且,在一些情况下,熵译码单元56可以对一个宏块或其分区中的系数执行行程长度(run length)译码。逆量化单元58和逆变换单元60分别应用逆量化和逆变换以在像素域中重构残余块,例如以供稍后用作用于预测性译码的参考块。运动补偿单元44可以通过将残余块添加到参考帧存储装置64的帧中的一者的预测性块中来计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重构的残余块以计算子整数像素值用于运动估计。加法器62将经重构残余块添加到由运动补偿单元44产生的经运动补偿预测块以产生经重构视频块以供存储于参考帧存储装置64中。经重构的视频块可由运动估计单元42和运动补偿单元44用作用于对后续视频帧中的块进行帧间译码的参考块。图3是图解说明对经编码视频序列进行解码的视频解码器30的实例的框图。在图3的实例中,视频解码器30包括熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考帧存储装置82和求和器80。视频解码器30在一些实例中可执行总体上与关于视频编码器20 (图2)所描述的编码遍次互逆的解码遍次。运动补偿单元72可基于从熵解码单元70接收的运动向量产生预测数据。帧内预测单元74可基于发信号通知的帧内预测模式和来自当前帧的先前经解码块的数据产生用于当前帧的当前块的预测数据。在一些实例中,熵解码单元70或逆量化单元76可以使用视频编码器20使用的扫描镜射来扫描接收到的值。在图3的实例中,视频解码器30可经配置以应用预定默认逆扫描次序(例如,与视频编码器20应用的预定扫描次序对称)或应用基于视频编码器20发信号通知的扫描次序的逆扫描次序。也就是说,视频解码器30可以利用特定的逆扫描次序(如果视频编码器20发信号通知了一个逆扫描次序的话),但可以使用预界定默认扫描次序(如果视频编码器20未发信号通知扫描次序的话)。在一些实例中,为了确定是否解码和应用特定的逆扫描次序,视频解码器30可以应用视频编码器20应用的相同扫描次序信令限制。也就是说,视频解码器30可以基于被扫描的变换系数的数目来确定是否识别特定的逆扫描次序。在一些实例中,视频解码器30可以仅在被逆扫描的变换系数的数目大于阈值的情况下识别特定逆扫描次序。也就是说,举例来说,视频解码器30在被逆扫描的变换系数的数目大于阈值的情况下识别特定逆扫描次序,但在变换系数的数目小于或等于阈值的情况下可以使用预界定默认扫描次序。当对已由视频编码器发信号通知的扫描次序进行解码时,视频解码器30可以用与视频编码器30对称的方式操作。举例来说,为了对系数进行逆自适应扫描,视频解码器30可以对包括重要系数旗标和最后系数旗标的语法元素进行解码以再生视频编码器20用来执行自适应扫描的统计数据。视频解码器30可以由此从由熵解码过程产生的一维向量形成二维矩阵。在另一实例中,视频解码器30可以使用与视频编码器20相同的准则从若干逆扫描中选择某个逆扫描。逆量化单元76将在位流中提供且由熵解码单元70解码的经量化变换系数逆量化,即去量化。所述逆量化过程可包括常规过程,例如通过H.264解码标准或通过HEVC界定的过程。所述逆量化过程可包括使用视频编码器20针对CU计算的量化参数QP以确定量化程度和同样应应用的逆量化程度。逆变换单元58应用逆变换,例如逆DCT、逆整数变换、逆旋转变换或逆定向变换。在一些实例中,逆变换单元78可以基于针对接收到的帧内预测经编码块发信号通知的帧内预测模式来确定逆变换。如果基于帧内预测模式对于所述块的大小可能有一种以上变换,那么逆变换单元78可以基于在包括当前块的LCU的四叉树的根节点处发信号通知的变换来确定待应用于当前块的变换。在一些实例中,逆变换单元78可以应用级联的逆变换,例如第一逆旋转变换之后是逆定向变换。运动补偿单元72产生经运动补偿块,有可能基于内插滤波器执行内插。待用于具有子像素精度的运动估计的内插滤波器的识别符可包括在语法元素中。运动补偿单元72可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。运动补偿单元72可根据所接收的语法信息来确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。运动补偿单元72和帧内预测单元74使用用以确定用以对经编码视频序列的帧进行编码的LCU的大小的语法信息(例如,由四叉树提供)中的一些信息、描述经编码视频序列的帧的每一 CU如何被分裂(且同样,子CU如何被分裂)的分裂信息、指示每一分裂如何被编码的模式(例如,帧内或帧间预测,且对于帧内预测为帧内预测编码模式)、用于每一经中贞间编码PU的一个或一个以上参考巾贞(和/或含有用于参考巾贞的识别符的参考列表)以及其它信息对经编码视频序列进行解码。求和器80将残余块与由运动补偿单元72或帧内预测单元74产生的对应预测性块组合以形成经解码块。如果需要的话,还可应用解块滤波器以对经解码块进行滤波,以便移除成块性假影。接着将经解码视频块存储于参考帧存储装置82中,参考帧存储装置82提供用于后续运动补偿的参考块且还产生用于在显示装置(例如,图1的显示装置32)上呈现的经解码视频。图4是图解说明与视频数据120A-120P的块相关联的位置(位置120)的实例Z形扫描的概念图。在一些实例中,每一位置120可包括相关联的变换系数。视频编码器20可经配置以在例如向残余块应用DCT之后使用图4的Z形扫描来扫描系数的块。在此实例中,Z形扫描开始于位置120A,然后前进到位置120B,然后到位置120E,然后到位置1201,然后到位置120F,然后到位置120C,然后到位置120D,然后到位置120G,然后到位置120J,然后到位置120M,然后到位置120N,然后到位置120K,然后到位置120H,然后到位置120L,然后到位置1200,且最后到位置120P。通过执行此扫描,可以将变换系数的二维布置转换成包括用于位置120中的每一者的值的一维阵列。这些值可以用扫描次序布置在所述阵列中。举例来说,用于位置120A的值可以位于阵列中的第一位,然后是位置120B、120E、1201、120F等的值。图4的Z形扫描可以与应用于残余块以形成变换系数的DCT相关联。总的来说,DCT将位置120的能量压缩到变换块的左上角中。所以,最低频率系数可以在DCT之后总体上出现在左上角附近,而最高频率系数可以在DCT之后总体上出现在右下角附近。所以,Z形扫描可经配置以试图确保较低的频率系数在阵列中放置得比较高频率的系数早。以此方式,视频编码器可以通过将阵列中较晚的系数置零来压缩数据,所述系数应对应于较高频率系数。还可对其它变换界定其它预界定扫描图案。举例来说,每一定向变换可以与经设计以将从定向变换获得的低频率系数在阵列中放置得比较高频率系数早的扫描图案相关联。方向变换中的一者可以使得较低频率系数沿变换系数的块的远左列出现,在此情况下,可以界定对应扫描,其开始于位置120A处,然后前进到位置120E,然后到位置1201,然后到位置120M,然后到120B等等。作为另一实例,所述定向变换中的另一者可以使得较低频率系数沿变换系数的块的顶行出现,在此情况下,可以界定对应扫描,其开始于位置120A处,然后前进到位置120B,然后到位置120C,然后到位置120D,然后到位置120E等等。 在一些实例中,视频编码器20可经配置以执行自适应扫描而非预界定扫描。自适应扫描可以基于指示特定系数(也就是说,对应于位置120的系数)是否重要的统计数据随时间变化。此外,视频编码器20可以基于(举例来说)经选择用来预测块的帧内预测模式、在初始变换之后应用的旋转变换的索引或其它因素来计算统计数据的单独集合。根据本发明的方面,视频编码器20可以仅在经量化变换系数的数目超出阈值时应用和发信号通知特定扫描次序。在一些实例中,可以根据被扫描的TU的大小来确定经量化变换系数的数目。举例来说,如果被扫描的经量化变换系数的数目未超出预定阈值,则视频编码器20可以应用预定默认扫描次序,例如图4中所示的Z形扫描次序。在此情况下,视频编码器20可以不发信号通知所述扫描次序。替代地,如果被扫描的经量化变换系数的数目确实超出预定阈值,则视频编码器20可以选择和发信号通知特定扫描次序。在其它实例中,可以根据最后重要系数的位置来确定经量化变换系数的数目。举例来说,如果最后重要系数的位置未超出预定阈值位置,则视频编码器20可以应用预定默认扫描次序,例如图4中所示的Z形扫描次序,而不发信号通知所述扫描次序。替代地,如果最后重要系数的位置大于预定阈值位置,则视频编码器可以选择和发信号通知特定扫描次序。当视频编码器20应用和发信号通知特定扫描次序时,视频编码器20可以基于当前TU的各种特性来选择扫描次序,所述特性例如是(举例来说)块类型(帧间或帧内)、预测模式(针对经帧内预测块)和/或应用于TU的变换的类型(例如,DCT或KLT)。在其它实例中,视频编码器20可以从多个扫描次序中选择最有可能提高熵译码效率的扫描次序。在另外其它实例中,视频编码器20可以产生、应用和发信号通知自适应扫描次序,如上文所述。本发明的技术涉及基于被扫描的TU的大小来确定是否应用和发信号通知特定扫描次序。根据本发明的一些方面,视频编码器20可以仅在TU的大小超出变换系数的8x8矩阵时应用和发信号通知特定扫描次序,但是也可使用其它大小(例如,4x4矩阵、16x16矩阵及类似矩阵)。如果被扫描的TU等于或小于大小阈值,则视频编码器20可以应用默认或预定扫描次序。在此实例中,视频编码器20可以不发信号通知特定扫描次序,并且视频解码器(例如视频解码器30)可经配置以应用相同默认或预定扫描次序。替代地,如果被扫描的TU超出大小阈值,则视频编码器20可以应用和发信号通知除了默认或预定扫描次序之外的扫描次序,如上文所描述。本发明的技术还涉及基于最后重要系数的位置来确定是否应用和发信号通知特定扫描次序。根据本发明的一些方面,视频编码器20可以仅在最后重要系数的位置超出八个系数时应用和发信号通知特定扫描次序,但是也可使用其它系数位置(例如,16,32及类似位置)。如果最后重要系数位置等于或小于位置阈值,则视频编码器20可以应用默认或预定扫描次序,而不发信号通知扫描次序。替代地,如果最后重要系数位置超出所述位置,则视频编码器20可以应用和发信号通知除了默认或预定扫描次序之外的扫描次序,如上文所描述。图5是图解说明根据本发明的方面用于确定是否发信号通知用于变换系数的扫描次序的实例方法140的流程图。在图5中所示的实例中,所述方法总体上包括基于被编码的TU的大小来确定是否发信号通知用于与所述TU相关联的变换系数的扫描次序。尽管出于解释的目的总体上描述为由视频编码器20 (图2)的组件执行,但是应理解其它视频编码单元(例如处理器、处理单元、基于硬件的译码单元(例如编码器/解码器(编解码器))及类似装置)也可经配置以执行图5的方法。图5中所示的实例方法140从接收变换系数开始(142)。举例来说,视频编码器的组件(例如系数扫描单元55)可以接收与当前正被编码的TU相关联的变换系数的二维矩阵。也就是说,视频编码器20的系数扫描单元55可以从量化单元54接收与二维变换单元(TU)相关联的经量化变换系数矩阵。根据本发明的方面,系数扫描单元55可以负责将变换系数串行化以产生可被熵译码的变换系数的一维阵列。系数扫描单元55可以确定变换系数的数目是否超出预定阈值(144)。在一实例中,视频编码器20可以基于当前正被编码的TU的大小来确定变换系数的数目是否超出阈值。在一实例中,系数扫描单元55可以确定变换系数矩阵的大小是否超出8x8变换系数的预定阈值,但是可以使用其它阈值(例如,4x4、16x16及类似阈值)。如果变换系数矩阵的大小小于或等于阈值矩阵大小,则系数扫描单元55可以使用默认扫描次序来扫描所述变换系数矩阵(146)。另外,熵译码单元56可以对经扫描系数进行熵编码而不发信号通知扫描次序(148)。但是,如果变换系数的数目的大小超出阈值,则系数扫描单元55可以选择用于所述变换系数的扫描次序(150)。根据本发明的方面,系数扫描单元55可以基于正被编码的TU的各种特性来选择特定扫描,所述特性例如(举例来说)是块类型(帧间或帧内)、预测模式/方向和/或应用于TU的变换类型。在其它实例中,如相对于图7较详细描述,系数扫描单兀55可以选择自适应扫描。
系数扫描单元55可以接着使用所述选定扫描次序来扫描变换系数(152)。另外,熵译码单元56可以对经扫描变换系数进行熵编码,并且发信号通知用来扫描变换系数的扫描次序(154)。根据本发明的方面,如下文相对于图8较详细描述,熵译码单元56可以使用上下文模型发信号通知扫描次序。也就是说,熵译码单元56可以使用基于上下文的可变长度码(VLC)表和/或依赖于来自当前正被编码的CU或相邻CU的译码信息的上下文信息(例如,预测模式/方向、预测单元大小、非零系数的数目及类似信息)的算术译码方法来发信号通知扫描次序。还应理解,相对于图5展示和描述的步骤只是作为一个实例提供。举例来说,虽然图5中展示和描述的阈值比较是与TU相关联,但是可使用除了 TU大小之外的译码度量值来确定是否发信号通知特定的扫描次序。举例来说,并非检查TU的大小,视频编码器20可以基于CU或PU的大小(其还可以间接提供对变换系数的数目的指示)来确定是否发信号通知扫描次序。另外,虽然图5的某些方面总体上描述为由视频编码器20的系数扫描单元55实行,但是应理解,多种其它单元或模块可经配置以实行此类方面,例如熵译码单元56。此外,图5的方法的步骤不一定需要用图5中所示的次序执行,并且可以执行较少、额外或替代的步骤。图6是图解说明根据本发明的方面用于确定是否发信号通知用于变换系数的扫描次序的另一实例方法180的流程图。在图6中所示的实例中,所述方法总体上包括基于TU的最后重要系数的位置来确定是否发信号通知用于与所述TU相关联的变换系数的扫描次序。尽管出于解释的目的总体上描述为由视频编码器20(图2)的组件执行,但是应理解其它视频编码单元(例如处理器、处理单元、基于硬件的译码单元(例如编码器/解码器(编解码器))及类似装置)也可经配置以执行图6的方法。图6中所示的实例方法180从接收变换系数开始(182)。举例来说,视频编码器的组件(例如系数扫描单元55)可以接收与当前正被编码的TU相关联的变换系数的二维矩阵。也就是说,视频编码器20的系数扫描单元55可以从量化单元54接收与二维变换单元(TU)相关联的经量化变换系数矩阵。根据本发明的方面,系数扫描单元55可以负责将变换系数串行化以产生可被熵译码的变换系数的一维阵列。系数扫描单元55接着可以确定当前变换系数矩阵的最后重要系数的位置是否大于预定阈值位置(184)。在一实例中,系数扫描单元55可以确定最后重要系数的位置是否大于八,但是可以使用其它阈值位置(例如,16,32及类似位置),这可以提供对TU中包括的重要变换系数的数目的指示。如果变换系数的最后重要系数的位置小于或等于阈值位置,则系数扫描单元55可以使用默认扫描次序来扫描变换系数(186)。另外,熵译码单元56可以对扫描系数进行熵编码而不发信号通知扫描次序(188)。但是,如果变换系数的最后重要系数的位置大于阈值位置,则系数扫描单元55可以选择用于所述变换系数的扫描次序(190)。如上文相对于图5描述,系数扫描单元55可以基于正被编码的TU的各种特性选择特定扫描或者可以选择自适应扫描。系数扫描单元55可以接着使用所述选定扫描次序来扫描变换系数(192)。另外,如相对于图5的步骤(154)描述,熵译码单元56可以对经扫描变换系数进行熵编码,并且发信号通知用于扫描所述变换系数的扫描次序(194)。
还应理解,相对于图6展示和描述的步骤只是作为一个实例提供。举例来说,虽然图6的某些方面总体上描述为由视频编码器20的系数扫描单元55实行,但是应理解,多种其它单元或模块可经配置以实行此类方面,例如熵译码单元56。此外,图6的方法的步骤不一定需要用图6中所示的次序执行,并且可以执行较少、额外或替代的步骤。图7是图解说明用于执行自适应扫描的实例方法210的流程图。尽管出于解释的目的总体上描述为由视频编码器20 (图2)的组件执行,但是应理解其它视频编码单元(例如处理器、处理单元、基于硬件的译码单元(例如编码器/解码器(编解码器))及类似装置)也可经配置以执行图7的方法。根据本发明的技术,图7中所示的用于自适应地扫描系数的技术可以对应于图5的步骤150-154或图6的步骤190-194。也就是说,举例来说,可以在TU大小超出预定阈值大小时或在TU的最后重要系数超出预定阈值位置时应用用于自适应地扫描系数的技术。在此些实例中,视频编码器20可以根据图7中所示的实例方法210产生和发信号通知自适应扫描。但是,应理解,图7中所示的方法仅作为一个实例提供。举例来说,视频编码器20还可基于正被编码的TU的各种特性来选择扫描次序,所述特性例如(举例来说)是块类型(帧间或帧内)、预测模式/方向和/或应用于TU的变换类型。此外,图7的步骤不一定需要用图7中所示的次序执行,并且可以执行较少、额外或替代的步骤。如图7中所示,为了执行基本自适应扫描,系数扫描单元55根据针对当前块的对应预测模式界定的初始扫描次序扫描一个块的系数(212)。从视频编码器20的角度来看,扫描将变换系数的二维块转换成一维系数阵列。但是从视频解码器30的角度来看,扫描将把一维系数阵列转换成二维变换系数块。作为一个实例,对应预测模式的初始扫描次序可以是Z形扫描次序。Z形扫描并非仅有的可能的初始扫描次序。水平扫描、垂直扫描或任何其它初始扫描次序可以用作初始扫描次序。系数扫描单元55收集用于一个或一个以上块的统计数据(214)。明确地说,针对被扫描的块中的每一者,系数扫描单元55可以收集例如用计数器追踪二维块内的系数位置中的每一者是非零系数的频率的统计数据。系数扫描单元55确定是否评估扫描次序(216)。系数扫描单元55可以用固定时间间隔(例如,在每个块边界处或在η个块边界之后)或非固定时间间隔(例如,当所述块内的一个位置的计数值中的一者超出阈值时)评估所述扫描次序。如果系数扫描单元55确定不评估扫描次序,则系数扫描单元55根据初始扫描次序扫描后续块(212)。如果系数扫描单元55确定评估所述扫描次序(例如,在已经对η个块进行编码/解码之后),则系数扫描单元可以基于收集到的统计数据来调适扫描次序(218)。举例来说,系数扫描单元55可以调适扫描次序以基于其计数值以降序扫描所述块的系数位置,其中计数值反映给定位置具有非零系数的可能性。在调适了扫描次序之后,在一些情况下,系数扫描单元55可以确定统计数据的任何计数值是否超出阈值(220)。如果系数位置中的一者具有超出所述阈值的对应计数值,则系数扫描单元55可以使收集到的统计数据(例如,系数计数值)归一(222)。举例来说,系数扫描单元55可以通过将计数值中的每一者减小预定因子(例如,减小二这个因子以使所述计数值中的每一者减小一半)或使计数值复位成一组初始计数值来使所述系数计数值归一。使系数计数值归一可以允许视频编码器20更快速适应局部系数统计数据。
在使收集到的统计数据归一之后,或当不执行归一时,系数扫描单元55使用经调适的扫描次序扫描后续块(224)。系数扫描单元55可以在先前经扫描视频块的译码单元内存在至少一个后续块时使用经调适的扫描次序来扫描至少一个后续块。系数扫描单元55可以继续扫描后续视频块,直到扫描次序经过再次调整或重新初始化(例如,在译码单元边界处)为止。以此方式,系数扫描单元55基于收集到的统计数据调适扫描次序来先扫描被确定具有非零的较高可能性的块的系数位置,然后扫描被确定具有非零的较小可能性的块的系数位置。因而,一维系数阵列经布置以促进将接近经扫描的一维阵列的开头的非零系数和接近经扫描的一维阵列的末尾的零值系数分组。此又可改进可在熵译码期间实现的压缩等级。在一些情况下,系数扫描单元55可以分别针对预测模式中的每一者自适应地调整扫描次序,因为所述预测模式中的每一者可以具有不同系数统计数据。换句话说,系数扫描单元55可以维持用于预测模式中的每一者的单独统计数据,并且基于相应统计数据不同地调整用于预测模式中的每一者的扫描次序。因而,可以由系数扫描单元55针对每一预测模式执行上文所描述的实例流程图。图8是图解说明用于选择在对描述自适应扫描的系数的语法元素进行扫描和熵编码时使用的上下文模型的实例方法240的流程图。尽管出于解释的目的总体上描述为由视频编码器20 (图2)的组件执行,但是应理解其它视频编码单元(例如处理器、处理单元、基于硬件的译码单元(例如编码器/解码器(编解码器))及类似装置)也可经配置以执行图8的方法。还应理解,在其它实例中,类似方法可包括图8中图解说明的步骤的额外或替代的步骤,或者可以用不同次序执行图解说明的步骤,而并未脱离所描述的技术。如图8所说明的用于选择在对描述自适应地扫描系数的语法元素进行扫描和熵编码时使用的上下文模型的技术可以对应于图5的步骤150-154或图6的步骤190-194。也就是说,当选择和发信号通知扫描次序时,可以执行图8中所示的方法240。图8的技术可以在执行图7的自适应扫描之前、期间或之后执行。熵译码单元56可以例如从量化单元54接收经量化变换系数的矩阵(242)。总的来说,使用图8的实例方法,熵译码单元56可以对描述接收到的系数的语法元素进行编码。所述语法元素可针对每一系数包括一重要系数旗标和一最后系数旗标。所述重要系数旗标可以指示对应系数是否重要,例如,对应系数的值是否大于零。最后系数旗标可以指示对应系数是否为自适应扫描的最后系数。熵译码单元56可以确定重要系数在接收到的矩阵中的位置。熵译码单元56可以形成指示重要系数在接收到的矩阵中的位置的语法元素(244)。举例来说,针对矩阵中的每一系数,熵译码单元56可以确定所述系数是否大于零,并且如果是的话,则将语法元素矩阵中与所述系数并置的值设置成等于一,否则,熵译码单元可以将与所述系数并置的值设置成等于零。熵译码单元56可以接着扫描语法元素矩阵中的第一个语法元素(246)。熵译码单元56可以应用Z形扫描(例如图4中所示的)或基于块类型(经帧间或帧内预测块)、空间预测方向(如果所述块是经帧内预测编码块)和/或使用的变换类型选择的扫描。接下来,熵译码单元56可以选择用于对扫描的语法元素进行编码的上下文模型(248)。总的来说,可以基于先前经扫描的N个系数中的重要(例如,非零)系数的数目来选择上下文模型,其中N是非零整数值。可以基于块的大小来选择N。还可基于当前正被编码的CU的译码信息或相邻CU的上下文信息(例如,预测模式/方向、预测单元大小、非零系数的数目及类似信息)来选择上下文模型。在选择了用于对当前语法元素进行编码的上下文模型之后,熵译码单元56可以使用所述选定上下文模型对扫描的语法元素进行熵编码(250)。熵译码单元56可以接着确定所述编码的语法元素是否为待编码的最后语法元素(252)。如果所述语法元素是最后语法元素(252的“是”分支),则熵译码单元56可以停止扫描系数。另一方面,如果所述语法元素不是最后语法元素(252的“否”分支),则熵译码单元56可以扫描下一个语法元素(254),并且再次选择用于对扫描的语法元素进行编码的上下文模型。主要相对于描述特定系数是否重要的语法元素论述了图8的实例。举例来说,这些语法元素可包括重要系数旗标,例如指示对应系数是否重要(例如,非零)的一位旗标。应理解,可以相对于描述特定系数是否为自适应扫描中的最后系数的语法元素来应用类似技术。举例来说,类似技术可以应用于最后系数旗标。当使用CABAC对最后系数旗标进行编码时,上下文模型可以是基于自适应扫描中的次序索引,所述次序索引是基于块类型、空间预测方向和/或选定变换。图9是图解说明根据本发明的方面的用于确定是否识别用于接收到的变换系数的扫描次序的实例方法260的流程图。在图9中所示的实例中,所述方法总体上包括基于被解码的TU的大小来确定是否识别用于与TU相关联的变换系数的发信号通知的扫描次序。尽管出于解释的目的总体上描述为由视频解码器30 (图3)的组件执行,但是应理解其它视频编码单元(例如处理器、处理单元、基于硬件的译码单元(例如编码器/解码器(编解码器))及类似装置)也可经配置以执行图9的方法。图9中所示的实例方法260从接收变换系数开始(262)。举例来说,视频解码器30的组件(例如熵解码单元70)可以接收包含经编码视频数据以及帮助对经编码视频数据进行解码的一个或一个以上语法元素的位流。根据图9中所示的实例,接收到的位流的至少一部分包括多个与变换单元(TU)相关联的串行化经量化变换系数。也就是说,熵解码单元70可以接收多个重要变换系数。此外,熵解码单元70可以接收一个指示重要系数在TU内的相对位置的重要性图。熵解码单元70可以利用此类信息从接收到的一维阵列重构变换系数的二维块。当接收到变换系数后,熵解码单元70可以即刻确定接收到的变换系数的数目是否超出预定阈值(264)。在图9中所示的实例中,熵解码单元70可以基于被解码的TU的大小来确定接收到的变换系数的数目是否超出预定阈值。也就是说,熵解码单元70可以接收识别接收到的TU的大小的指示,例如语法元素。在另一实例中,熵解码单元70可以基于接收到的变换系数的数目和/或上文所描述的重要性图来确定接收到的TU的大小。根据本发明的一些方面,熵解码单元70可以确定接收到的TU的大小是否超出8x8变换系数的预定阈值,但是可以使用其它阈值(例如,4x4、16x16及类似阈值)。如果接收到的TU的大小小于或等于阈值矩阵大小,则熵解码单元70可以使用默认扫描次序对接收到的变换系数进行逆扫描(266)。也就是说,熵解码单元70可以使用预界定扫描次序来重构二维TU,所述预界定扫描次序镜射了视频编码器(例如,视频编码器20)用来将TU串行化的默认扫描次序。在一实例中,熵解码单元70可以使用视频编码器应用的Z形扫描次序的逆向形式。但是,如果接收到的TU的大小超出预定阈值,则熵解码单元70可以识别用于扫描变换系数的扫描次序(268)。根据本发明的方面,熵解码单元70可以基于位流中包括的一个或一个以上语法元素来识别扫描次序。举例来说,视频解码器30可以识别接收到的位流中明确地指定的扫描次序。也就是说,视频解码器30可识别位流中的界定扫描次序的一个或一个以上语法元素。另外或替代地,视频解码器30可以识别自适应扫描次序。也就是说,视频解码器30可以接收提示视频解码器30执行自适应扫描的语法元素或其它指示,所述自适应扫描镜射产生了接收到的位流的视频编码器实施的自适应扫描。在另一实例中,视频解码器30可以基于索引值识别特定扫描次序。也就是说,视频解码器30可以在位流中识别索引值,其与扫描次序的预界定表(例如,扫描次序的查找表)中的一个特定扫描次序相关联。在此实例中,视频解码器30可包括与产生了位流的视频编码器(例如视频编码器20)实施的表相同的扫描次序表。根据本发明的方面,如上文相对于图8较详细描述,可以使用上下文模型在位流中发信号通知所述扫描次序。所以,熵解码单元70可以使用基于上下文的可变长度码(VLC)表和/或依赖于来自当前正被编码的CU或相邻CU的译码信息的上下文信息(例如,预测模式/方向、预测单元大小、非零系数的数目及类似信息)的算术译码方法来识别扫描次序。熵解码单元70可以接着使用识别出的扫描次序对变换系数进行逆扫描(270)。也就是说,熵解码单元70可以使用发信号通知的扫描次序从接收到的变换系数的一维阵列重构二维TU。还应理解,相对于图9展示和描述的步骤只是作为一个实例提供。举例来说,图9的方法的步骤不一定需要用图9中所示的次序执行,并且可以执行较少、额外或替代的步骤。此外,虽然图9的某些方面总体上被描述为由视频解码器30的熵解码单元70实行,但是应理解多种其它单元或模块可经配置以实行此类方面,例如逆量化单元76。图10是图解说明根据本发明的方面的用于确定是否识别用于接收到的变换系数的扫描次序的实例方法280的流程图。在图10中所示的实例中,所述方法总体上包括基于被解码的TU的最后重要系数的相对位置来确定是否识别用于与所述TU相关联的变换系数的发信号通知的扫描次序。尽管出于解释的目的总体上描述为由视频解码器30 (图3)的组件执行,但是应理解其它视频编码单元(例如处理器、处理单元、基于硬件的译码单元(例如编码器/解码器(编解码器))及类似装置)也可经配置以执行图10的方法。图10中所示的实例方法280从接收变换系数开始(282)。举例来说,视频解码器30的组件(例如熵解码单元70)可以接收包含经编码视频数据以及帮助对经编码视频数据进行解码的一个或一个以上语法元素的位流。根据图10中所示的实例,接收到的位流的至少一部分包括与变换单元(TU)相关联的多个串行化经量化变换系数。也就是说,熵解码单元70可以接收多个重要变换系数。此外,熵解码单元70可以接收一个指示重要系数在TU内的相对位置的重要性图。熵解码单元70还可接收识别TU的最后重要变换系数的相对位置的最后重要系数旗标。熵解码单元70可以利用此类信息从接收到的一维阵列重构变换系数的二维块。
在接收到变换系数后,熵解码单元70可以即刻确定最后重要系数的位置是否超出预定阈值位置(284)。在图10中所示的实例中,熵解码单元70可以基于最后重要系数旗标和/或例如重要性图的其它重要性信息来识别相对位置。如果最后重要系数的位置小于或等于阈值位置,则熵解码单元70可以使用默认扫描次序对接收到的变换系数进行逆扫描(286)。也就是说,熵解码单元70可以使用预界定扫描次序来重构二维TU,所述预界定扫描次序镜射了视频编码器(例如,视频编码器20)用来将TU串行化的默认扫描次序。在一实例中,熵解码单元70可以使用视频编码器应用的Z形扫描次序的逆向形式。但是,如果最后重要变换系数的位置的大小超出预定阈值,则熵解码单元70可以识别用于扫描变换系数的扫描次序(288)。根据本发明的方面,熵解码单元70可以基于位流中包括的一个或一个以上语法元素来识别扫描次序。举例来说,视频解码器30可以识别接收到的位流中明确地指定的扫描次序。也就是说,视频解码器30可识别位流中的界定扫描次序的一个或一个以上语法兀素。另外或替代地,视频解码器30可以识别自适应扫描次序。也就是说,视频解码器30可以接收提示视频解码器30执行自适应扫描的语法元素或其它指示,所述自适应扫描镜射产生了接收到的位流的视频编码器实施的自适应扫描。在另一实例中,视频解码器30可以基于索引值识别特定扫描次序。也就是说,视频解码器30可以在位流中识别索引值,其与扫描次序的预界定表(例如,扫描次序的查找表)中的一个特定扫描次序相关联。在此实例中,视频解码器30可包括与产生了位流的视频编码器(例如视频编码器20)实施的表相同的扫描次序表。根据本发明的方面,如上文相对于图8较详细描述,可以使用上下文模型在位流中发信号通知所述扫描次序。所以,熵解码单元70可以使用基于上下文的可变长度码(VLC)表和/或依赖于来自当前正被编码的CU或相邻CU的译码信息的上下文信息(例如,预测模式/方向、预测单元大小、非零系数的数目及类似信息)的算术译码方法来识别扫描次序。熵解码单元70可以接着使用识别出的扫描次序对变换系数进行逆扫描(290)。也就是说,熵解码单元70可以使用发信号通知的扫描次序从接收到的变换系数的一维阵列重构二维TU。还应理解,相对于图10展示和描述的步骤只是作为一个实例提供。举例来说,图10的方法的步骤不一定需要用图10中所示的次序执行,并且可以执行较少、额外或替代的步骤。此外,虽然图10的某些方面总体上被描述为由视频解码器30的熵解码单元70实行,但是应理解多种其它单元或模块可经配置以实行此类方面,例如逆量化单元76。在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,则所述功能可以作为一个或一个以上指令或代码在计算机可读媒体上存储或传输,并且由基于硬件的处理单元执行。计算机可读媒体可包括计算机可读存储媒体,其对应于例如数据存储媒体的有形媒体,或包括任何促进将计算机程序从一处传送到另一处的媒体(例如,根据一种通信协议)的通信媒体。以此方式,计算机可读媒体总体上可以对应于(I)有形计算机可读存储媒体,其是非暂时形的,或(2)通信媒体,例如信号或载波。数据存储媒体可以是可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用的媒体。计算机程序产品可包括计算机可读媒体。
借助于实例而非限制,此类计算机可读存储媒体可包含RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或任何其它可用来存储指令或数据结构的形式的期望程序代码并且可由计算机存取的媒体。同样,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输指令,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电和微波的无线技术包括于媒体的定义中。但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包括连接、载波、信号或其它暂时媒体,而是实际上针对于非暂时性有形存储媒体。如本文中所使用,磁盘和光盘包括压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘和蓝光光盘,其中磁盘通常磁性地再生数据,而光盘使用激光光学地再生数据。上述的组合也应包括在计算机可读媒体的范围内。指令可以由一个或一个以上处理器执行,所述一个或一个以上处理器例如是一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文所述的功能性可以在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。本发明的技术可以在广泛多种装置或设备中实施,包括无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可以配合合适的软件和/或固件组合在一个编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包括如上文所描述的一个或一个以上处理器。已描述各种实例。这些和其它实例属于所附权利要求书的范围内。
权利要求
1.一种用于对视频数据进行解码的方法,所述方法包含: 确定与视频数据的一块相关联的变换系数的数目; 确定变换系数的所述数目是否超出预定阈值; 在变换系数的所述数目超出所述预定阈值时识别一扫描次序,其中所述扫描次序指示所述变换系数已经从二维阵列串行化成一维阵列的次序;以及 应用所述扫描次序对与视频数据的一块相关联的所述数目的变换系数进行逆扫描。
2.根据权利要求1所述的方法,其进一步包含在变换系数的所述数目未超出所述预定阈值时识别默认扫描次序,和应用所述默认扫描次序对所述数目的变换系数进行逆扫描。
3.根据权利要求2所述的方法,其中所述识别所述默认扫描次序包含识别预编程扫描次序。
4.根据权利要求1所述的方法,其中确定变换系数的所述数目是否超出预定阈值进一步包含确定非零变换系数的数目是否超出预定非零变换系数阈值。
5.根据权利要求4所述的方法,其进一步包含基于最后重要系数旗标确定非零变换系数的所述数目是否超出所述预定非零变换系数阈值。
6.根据权利要求1所述的方法,其中识别所述扫描次序包含对包括对所述扫描次序的指示的位流进行解码。
7.根据权利要求6所述的方法,其进一步包含基于包括相邻块的帧内预测模式的上下文模型识别所述扫描次序。
8.一种用于对视频数据进行解码的设备,所述设备包含经配置以进行以下操作的视频解码器: 确定与视频数据的一块相关联的变换系数的数目; 确定变换系数的所述数目是否超出预定阈值; 在变换系数的所述数目超出所述预定阈值时识别一扫描次序,其中所述扫描次序指示所述变换系数已经从二维阵列串行化成一维阵列的次序;以及 应用所述扫描次序对与视频数据的一块相关联的所述数目的变换系数进行逆扫描。
9.根据权利要求8所述的设备,其中所述视频解码器进一步经配置以在变换系数的所述数目未超出所述预定阈值时识别默认扫描次序,和应用所述默认扫描次序对所述数目的变换系数进行逆扫描。
10.根据权利要求9所述的设备,其中所述识别所述默认扫描次序包含识别预编程扫描次序。
11.根据权利要求8所述的设备,其中确定变换系数的所述数目是否超出预定阈值进一步包含确定非零变换系数的数目是否超出预定非零变换系数阈值。
12.根据权利要求11所述的设备,其中所述视频解码器进一步经配置以基于最后重要系数旗标确定非零变换系数的所述数目是否超出所述预定非零变换系数阈值。
13.根据权利要求8所述的设备,其中识别所述扫描次序包含对包括对所述扫描次序的指示的位流进行解码。
14.根据权利要求13所述的设备,其中所述视频解码器进一步经配置以基于包括相邻块的帧内预测模式的上下文模型识别所述扫描次序。
15.根据权利要求8所述的设备, 其中所述设备包含以下至少一者:集成电路; 微处理器;以及 无线通信装置,其包括所述视频解码器。
16.一种用于对视频数据进行解码的设备,所述设备包含: 用于确定与视频数据的一块相关联的变换系数的数目的装置; 用于确定变换系数的所述数目是否超出预定阈值的装置; 用于在变换系数的所述数目超出所述预定阈值时识别一扫描次序的装置,其中所述扫描次序指示所述变换系数已经从二维阵列串行化成一维阵列的次序;以及 用于应用所述扫描次序对与视频数据的一块相关联的所述数目的变换系数进行逆扫描的装置。
17.根据权利要求16所述的设备,其进一步包含用于在变换系数的所述数目未超出所述预定阈值时识别默认扫描次序的装置,和用于应用所述默认扫描次序对所述数目的变换系数进行逆扫描的装置。
18.根据权利要求17所述的设备,其中所述识别所述默认扫描次序包含识别预编程扫描次序。
19.根据权利要求16所述的设备,其中确定变换系数的所述数目是否超出预定阈值进一步包含确定非零变换系数的数目是否超出预定非零变换系数阈值。
20.根据权利要求19所述的设备,其进一步包含用于基于最后重要系数旗标确定非零变换系数的所述数目是否超出所述预定非零变换系数阈值的装置。
21.根据权利要求16所述的设备,其中识别所述扫描次序包含对包括对所述扫描次序的指示的位流进行解码。
22.—种计算机程序产品,其包含上面存储有指令的计算机可读存储媒体,所述指令在执行时致使用于对视频数据进行解码的装置的处理器进行以下操作: 确定与视频数据的一块相关联的变换系数的数目; 确定变换系数的所述数目是否超出预定阈值; 在变换系数的所述数目超出所述预定阈值时识别一扫描次序,其中所述扫描次序指示所述变换系数已经从二维阵列串行化成一维阵列的次序;以及 应用所述扫描次序对与视频数据的一块相关联的所述数目的变换系数进行逆扫描。
23.根据权利要求22所述的计算机程序产品,其进一步包含在执行时致使所述处理器进行以下操作的指令:在变换系数的所述数目未超出所述预定阈值时识别默认扫描次序,和应用所述默认扫描次序对所述数目的变换系数进行逆扫描。
24.根据权利要求23所述的计算机程序产品,其中所述识别所述默认扫描次序包含识别预编程扫描次序。
25.根据权利要求22所述的计算机程序产品,其中确定变换系数的所述数目是否超出预定阈值进一步包含确定非零变换系数的数目是否超出预定非零变换系数阈值。
26.根据权利要求25所述的计算机程序产品,其进一步包含在执行时致使所述处理器进行以下操作的指令:基于最后重要系数旗标确定非零变换系数的所述数目是否超出所述预定非零变换系数阈值。
27.根据权利要求22所述的计算机程序产品,其中识别所述扫描次序包含对包括对所述扫描次序的指示的位流进行解码。
28.一种用于对视频数据进行编码的方法,所述方法包含: 确定与视频数据的一块相关联的变换系数的数目; 基于变换系数的所述数目是否超出预定阈值确定是否发信号通知扫描次序,其中所述扫描次序指示所述变换系数从二维阵列串行化成一维阵列的次序;以及 在变换系数的所述数目超出所述预定阈值时发信号通知所述扫描次序。
29.根据权利要求28所述的方法,其进一步包含在变换系数的所述数目未超出所述预定阈值的情况下应用默认扫描次序扫描所述数目的变换系数。
30.根据权利要求29所述的方法,其中未发信号通知所述默认扫描次序。
31.根据权利要求28所述的方法,其中确定变换系数的数目是否超出预定阈值包含确定变换系数的所述数目是否超出预定矩阵大小阈值。
32.根据权利要求31所述的方法,其中所述预定矩阵大小阈值是8x8矩阵。
33.根据权利要求28所述的方法 ,其中确定变换系数的所述数目是否超出预定阈值进一步包含确定非零变换系数的数目是否超出预定非零变换系数阈值。
34.根据权利要求33所述的方法,其进一步包含基于最后重要系数旗标确定非零变换系数的所述数目是否超出所述预定非零变换系数阈值。
35.根据权利要求28所述的方法,其中发信号通知所述扫描次序包含基于包括相邻块的帧内预测模式的上下文模型发信号通知所述扫描次序。
36.一种用于对视频数据进行编码的设备,所述设备包含经配置以进行以下操作的视频编码器: 确定与视频数据的一块相关联的变换系数的数目; 基于变换系数的所述数目是否超出预定阈值确定是否发信号通知扫描次序,其中所述扫描次序指示所述变换系数从二维阵列串行化成一维阵列的次序;以及 在变换系数的所述数目超出所述预定阈值时发信号通知所述扫描次序。
37.根据权利要求36所述的设备,其中所述视频编码器进一步经配置以在变换系数的所述数目未超出所述预定阈值的情况下应用默认扫描次序扫描所述数目的变换系数。
38.根据权利要求37所述的设备,其中未发信号通知所述默认扫描次序。
39.根据权利要求36所述的设备,其中确定变换系数的数目是否超出预定阈值包含确定变换系数的所述数目是否超出预定矩阵大小阈值。
40.根据权利要求39所述的设备,其中所述预定矩阵大小阈值是8x8矩阵。
41.根据权利要求36所述的设备,其中确定变换系数的所述数目是否超出预定阈值进一步包含确定非零变换系数的数目是否超出预定非零变换系数阈值。
42.根据权利要求41所述的设备,其中所述视频编码器进一步经配置以基于最后重要系数旗标确定非零变换系数的所述数目是否超出所述预定非零变换系数阈值。
43.根据权利要求36所述的设备,其中发信号通知所述扫描次序包含基于包括相邻块的帧内预测模式的上下文模型发信号通知所述扫描次序。
44.根据权利要求36所述的设备,其中所述视频编码器包含以下至少一者: 集成电路; 微处理器;以及无线通信装置,其包括所述视频解码器。
45.一种用于对视频数据进行编码的设备,所述设备包含: 用于确定与视频数据的一块相关联的变换系数的数目的装置; 用于基于变换系数的所述数目是否超出预定阈值确定是否发信号通知扫描次序的装置,其中所述扫描次序指示所述变换系数从二维阵列串行化成一维阵列的次序;以及 用于在变换系数的所述数目超出所述预定阈值时发信号通知所述扫描次序的装置。
46.根据权利要求45所述的设备,其进一步包含在变换系数的所述数目未超出所述预定阈值的情况下用于应用默认扫描次序扫描所述数目的变换系数的装置。
47.根据权利要求46所述的设备,其中未发信号通知所述默认扫描次序。
48.根据权利要求45所述的设备,其中确定变换系数的数目是否超出预定阈值包含确定变换系数的所述数目是否超出预定矩阵大小阈值。
49.根据权利要求48所述的设备,其中所述预定矩阵大小阈值是8x8矩阵。
50.根据权利要求45所述的设备,其中确定变换系数的所述数目是否超出预定阈值进一步包含确定非零变换系数的数目是否超出预定非零变换系数阈值。
51.根据 权利要求50所述的设备,其进一步包含基于最后重要系数旗标确定非零变换系数的所述数目是否超出所述预定非零变换系数阈值。
52.—种计算机程序产品,其包含上面存储有指令的计算机可读存储媒体,所述指令在执行时致使用于对视频数据进行编码的装置的处理器进行以下操作: 确定与视频数据的一块相关联的变换系数的数目; 基于变换系数的所述数目是否超出预定阈值确定是否发信号通知扫描次序,其中所述扫描次序指示所述变换系数从二维阵列串行化成一维阵列的次序;以及 在变换系数的所述数目超出所述预定阈值时发信号通知所述扫描次序。
53.根据权利要求52所述的计算机程序产品,其进一步包含在变换系数的所述数目未超出所述预定阈值的情况下应用默认扫描次序扫描所述数目的变换系数。
54.根据权利要求53所述的计算机程序产品,其中未发信号通知所述默认扫描次序。
55.根据权利要求52所述的计算机程序产品,其中确定变换系数的数目是否超出预定阈值包含确定变换系数的所述数目是否超出预定矩阵大小阈值。
56.根据权利要求55所述的计算机程序产品,其中所述预定矩阵大小阈值是8x8矩阵。
57.根据权利要求52所述的计算机程序产品,其中确定变换系数的所述数目是否超出预定阈值进一步包含确定非零变换系数的数目是否超出预定非零变换系数阈值。
58.根据权利要求57所述的计算机程序产品,其进一步包含基于最后重要系数旗标确定非零变换系数的所述数目是否超出所述预定非零变换系数阈值。
全文摘要
在一实例中,一种用于对视频数据进行解码的设备包括经配置以进行以下操作的视频解码器确定与视频数据的一块相关联的变换系数的数目;和确定变换系数的所述数目是否超出预定阈值。所述视频解码器还经配置以在变换系数的所述数目超出所述预定阈值时识别一扫描次序,其中所述扫描次序指示所述变换系数已经从二维阵列串行化成一维阵列的次序;和应用所述扫描次序对与视频数据的一块相关联的所述数目的变换系数进行逆扫描。
文档编号H04N7/26GK103181170SQ201180051051
公开日2013年6月26日 申请日期2011年10月21日 优先权日2010年10月22日
发明者穆罕默德·蔡德·科班, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1