视频译码中的并行上下文计算的制作方法

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

发明内容
大体来说,本发明描述用于对 视频数据进行译码的技术。特定来说,本发明的技术涉及对视频数据进行熵译码。举例来说,本发明的方面涉及确定用于熵译码经量化变换系数的上下文支持邻域。在一个实例中,本发明的技术涉及确保用于对与沿着特定扫描路径定位的一个或一个以上变换系数相关联的有效性信息进行熵译码的上下文支持邻域不包含定位于所述扫描路径中的上下文支持元素。在所述扫描路径中不存在上下文支持元素的情况下,可以并行方式计算用于对与定位于所述扫描路径中的所有经量化变换系数相关联的有效性信息进行译码的上下文(例如,并行上下文计算)。本发明的方面还涉及产生用于扫描与经变换的残余视频数据相关联的有效性信息的扫描次序。举例来说,本发明的方面包含产生允许并行计算多个有效性旗标的上下文的扫描次序,由此允许实现用于有效性旗标译码的上下文预先提取。根据本发明的一些方面,此扫描次序还可促进使用推测式计算的多个有效性旗标的译码。在一个实例中,一种用于对视频数据进行译码的方法包括识别用于扫描与经量化变换系数相关联的有效性信息的扫描路径;确定用于对与所述经量化变换系数相关联的所述有效性信息进行熵译码的上下文支持邻域,其中所述上下文支持邻域排除位于所述扫描路径中的一个或一个以上上下文支持元素;以及使用经修改的上下文支持邻域来对所述有效性信息进行译码。在另一实例中,一种用于对视频数据进行译码的设备包括一个或一个以上处理器,所述一个或一个以上处理器经配置以:识别用于扫描与经量化变换系数相关联的有效性信息的扫描路径;确定用于对与所述经量化变换系数相关联的所述有效性信息进行熵译码的上下文支持邻域,其中所述上下文支持邻域排除位于所述扫描路径中的一个或一个以上上下文支持元素;以及使用经修改的上下文支持邻域来对所述有效性信息进行译码。在另一实例中,一种用于对视频数据进行译码的设备包括:用于识别用于扫描与经量化变换系数相关联的有效性信息的扫描路径的装置;用于确定用于对与所述经量化变换系数相关联的所述有效性信息进行熵译码的上下文支持邻域的装置,其中所述上下文支持邻域排除位于所述扫描路径中的一个或一个以上上下文支持元素;以及用于使用所述经修改的上下文支持邻域来对所述有效性信息进行译码的装置。在另一实例中,一种计算机程序产品包括计算机可读媒体,所述计算机可读媒体具有存储于其上的指令,所述指令在执行时使一个或一个以上处理器:识别用于扫描与经量化变换系数相关联的有效性信息的扫描路径;确定用于对与所述经量化变换系数相关联的所述有效性信息进行熵译码的上下文支持邻域,其中所述上下文支持邻域排除位于所述扫描路径中的一个或一个以上上下文支持元素;以及使用经修改的上下文支持邻域来对所述有效性信息进行译码。在另一实例中,一种对视频数据进行译码的方法包含:确定用于对与变换系数块相关联的有效性信息进行译码的上下文邻域;确定优先级量度,所述优先级量度经配置以影响用于扫描所述有效性信息的扫描次序的定向;确定用于扫描所述有效性信息的并行线程的数目;以及基于所述上下文邻域、所述优先级量度及并行线程的所述数目来产生用于扫描所述有效性信息的所述扫 描次序。在另一实例中,一种用于对视频数据进行译码的设备包含一个或一个以上处理器,所述一个或一个以上处理器经配置以:确定用于对与变换系数块相关联的有效性信息进行译码的上下文邻域;确定优先级量度,所述优先级量度经配置以影响用于扫描所述有效性信息的扫描次序的定向;确定用于扫描所述有效性信息的并行线程的数目;以及基于所述上下文邻域、所述优先级量度及并行线程的所述数目来产生用于扫描所述有效性信息的所述扫描次序。在另一实例中,一种用于对视频数据进行译码的设备包含:用于确定用于对与变换系数块相关联的有效性信息进行译码的上下文邻域的装置;用于确定优先级量度的装置,所述优先级量度经配置以影响用于扫描所述有效性信息的扫描次序的定向;用于确定用于扫描所述有效性信息的并行线程的数目的装置;以及用于基于所述上下文邻域、所述优先级量度及并行线程的所述数目来产生用于扫描所述有效性信息的所述扫描次序的装置。在另一实例中,一种计算机程序产品包含计算机可读媒体,所述计算机可读媒体具有存储于其上的指令,所述指令在执行时使一个或一个以上处理器:确定用于对与变换系数块相关联的有效性信息进行译码的上下文邻域;确定优先级量度,所述优先级量度经配置以影响用于扫描所述有效性信息的扫描次序的定向;确定用于扫描所述有效性信息的并行线程的数目;以及基于所述上下文邻域、所述优先级量度及并行线程的所述数目来产生用于扫描所述有效性信息的所述扫描次序。在随附图式及以下描述中阐述一个或一个以上实例的细节。其它特征、目标及优势将自所述描述及图式以及自权利要求书而显而易见。


图1为说明可利用用于有效地以并行方式扫描及熵译码有效性信息的技术的实例视频编码及解码系统的框图。图2为说明可实施本发明中所描述的用于有效地以并行方式扫描及熵译码有效性信息的技术中的任一者或所有者的视频编码器的实例的框图。图3为说明可实施本发明中所描述的用于有效地以并行方式扫描及熵译码有效性信息的技术中的任一者或所有者的视频解码器的实例的框图。图4为说明根据本发明的方面的对变换系数位置的实例“之”字形扫描的概念图。图5A为说明用于扫描经量化变换系数的“之”字形扫描模式的概念图。图5B为可在使用图5A的扫描的经量化变换系数的熵译码期间使用的并行友好上下文支持邻域的概念图。图5C为可在使用图5A的扫描的经量化变换系数的熵译码期间使用的另一并行友好上下文支持邻域的概念图。图6A为说明用于扫描经量化变换系数的水平扫描模式的概念图。图6B为可在使用图 6A的扫描的经量化变换系数的熵译码期间使用的并行友好上下文支持邻域的概念图。图7A为说明用于扫描经量化变换系数的垂直扫描模式的概念图。图7B为可在使用图7A的扫描的经量化变换系数的熵译码期间使用的并行友好上下文支持邻域的概念图。图7C为可在使用图7A的扫描的经量化变换系数的熵译码期间使用的另一并行友好上下文支持邻域的概念图。图8为说明根据本发明的方面的确定针对特定扫描模式的并行友好上下文支持邻域的实例方法的流程图。图9为说明根据本发明的方面的产生并行友好扫描次序的实例方法的流程图。图1OA为说明产生并行友好扫描次序的实例方法的流程图。图1OB为在图1OA中所展示的实例方法的继续。图1lA为说明针对变换系数块的实例上下文支持邻域的概念图。图1lB为可使用在图1OA及IOB中所展示的方法及在图1lA中所展示的上下文支持邻域来产生的实例扫描次序。图12A为说明针对变换系数块的另一实例上下文支持邻域的概念图。图12B为可使用在图1OA及IOB中所展示的方法及在图12A中所展示的上下文支持邻域来产生的实例扫描次序。图13A为说明针对变换系数块的另一实例上下文支持邻域的概念图。图13B为可使用在图1OA及IOB中所展示的方法及在图13A中所展示的上下文支持邻域来产生的实例扫描次序。
具体实施例方式大体来说,本发明描述用于对视频数据进行译码的技术。更特定来说,本发明描述关于产生用于扫描与经变换的残余视频数据相关联的变换系数的扫描次序的技术。经编码视频数据可包含预测数据及残余数据。视频编码器可在帧内预测模式或帧间预测模式期间产生预测数据。帧内预测大体上涉及相对于在同一图片的邻近先前经译码块中的参考样本而预测在图片的块中的像素值。帧间预测大体上涉及相对于先前经译码图片的像素值而预测图片的块的像素值。继帧内或帧间预测之后,视频编码器可计算所述块的残余像素值。所述残余值大体上对应于在预测像素值数据与正被译码的块(即,所述经译码块)的实际像素值数据之间的差。举例来说,所述残余值可包含指示在经译码像素与预测像素之间的差的像素差值。在一些实例中,所述经译码像素可与待译码的像素块相关联,且所述预测像素可与用以预测所述经译码块的一个或一个以上像素块相关联。为了进一步压缩块的残余值,可将所述残余值变换成变换系数集合。所述变换将所述像素的残余值自空间域转换至变换域。所述变换系数对应于大小通常与原始块相同的二维系数矩阵。换句话说,在所述变换域块中可存在恰与所述原始像素域块中的像素同样多的变换系数。视频编码器可接着量化所述变换系数以进一步压缩视频数据。量化大体上涉及将在相对大范围内的值映射至在相对小范围中的值,因而减少表示所述经量化变换系数所需的数据量。在一些状况中,量化可将一些值减少至零。继量化之后,所述视频编码器可扫描所述经量化变换系数,从而自所述经量化变换系数的二维矩阵产生一维向量。所述视频编码器可接着对所得阵列进行熵编码以更进一步压缩所述数据。在一些实例中,所述视频编码器可经配置以使用可变长度码(VLC)来表示阵列的各种可能的经量化变换系数(例如,使用上下文自适应性可变长度译码(CAVLC))。在其它实例中,所述视频编码器可经配置以使用二进制算术译码来对所得量化系数进行编码(例如,使用上下文自适应性二进制算术译码(CABAC))。在另外其它实例中,所述视频编码器可经配置以使用概率区间分割熵码(PIPE)来对经量化变换系数进行编码。上下文自适应性译码(例如CABAC、PIPE或其它上下文自适应性译码机制)通常涉及选择上下文模型,所述上下文模型对上下文操作以对与视频数据块相关联的符号进行编码。举例来说,上下文可涉及邻近当前正被译码的符号的符号的值是零还是非零。上下文模型可与特定概率模型相关联。在H.264/AVC及新近出现的高效率视频译码(HEVC)标准中,熵译码可包含识别在块中的有效变换系数(即,非零变换系数)的位置。在一些实例中,可将有效变换系数的相对位置先于所述系数的电平(例如,值)来编码。可将对所述有效系数的位置进行译码的过程称作有效性图译码。所述有效性图(SM)可包含由“一”及“零”组成“图”,其中所述“一”指示有效系数的位置。举例来说,针对视频数据块的有效性图(SM)可包含二进制值的二维阵列(即,“一”及“零”),其中“一”指示在所述块内的有效系数的位置,且“零”指示在所述块内的非有效或零值系数 的位置。可将所述有效性图的“一”及“零”称作“有效系数旗标”。此外,所述有效性图可包含另一由“一”及“零”组成的二维阵列,其中“一”指示根据与所述块相关联的扫描次序的在所述块内的最后有效系数的位置,且所述“零”指示在所述块内的所有其它系数的位置。在此状况中,将所述“一”及“零”称作“最后有效系数旗标”。在对所述有效性图进行译码之后,可对每一残余变换系数的电平(例如,表示为绝对值及正负号)进行译码。举例来说,为了对有效性图信息、电平信息、正负号信息等等进行译码,视频编码器可将每一非零残余变换系数的绝对值转换为二进制形式(可将此过程称作“二进制化”),例如,使用包括一个或一个以上位或“格(bin)”的一元码(或其它码)。针对所述块的每一有效系数旗标及最后有效系数旗标已包括单一格,且因而可略过二进制化。使用针对格的概率估计来对视频数据块的每一格进行译码,而不论其对应于所述块的残余变换系数电平还是语法信息,所述概率估计指示格具有给定值(例如,“O”或“I”)的可能性。所述概率估计包含于概率模型内,所述概率模型也称“上下文模型”。通过确定针对所述格的上下文来选择所述概率模型,可通过上下文支持邻域来识别所述格的上下文。即,上下文支持邻域可识别用于对与变换系数相关联的特定符号或旗标进行熵译码的上下文的相对位置。所述上下文(例如,位于所述上下文邻域位置中的实际值)确定所述概率模型。因此,如上文描述,对变换系数进行译码可包含对与变换系数相关联的数个旗标和/或符号(例如表示有效性、电平、正负号等等的旗标和/或符号)进行译码。因此,应理解,本文中进行的对译码变换系数的过程的大体引用可指代对与所述变换系数相关联的有效性旗标、电平、最后有效系数旗标、正负号或其它信息进行译码中的任一者或所有者。如上文所指出,当前正努力研发新视频译码标准,当前将所述新标准称作高效率视频译码(HEVC)。有时也将所述即将到来的标准非正式地称作ITU-T H.265,尽管尚未正式地做出此种命名。所述标准化努力是基于称作HEVC测试模型(HM)的视频译码装置的模型。所述HM假定优于根据(例如)ITU-T H.264/AVC的装置的视频译码装置的若干能力。举例来说,尽管H.264提供九个帧内预测编码模式,但HM提供多达三十五个帧内预测编码模式。

HM将视频数据块称作译码单元(CU)。在位流内的语法数据可定义最大译码单元(LCU),所述LCU为就像素数目来说的最大译码单元。大体来说,除CU不具有大小区分之外,CU具有与根据H.264译码的宏块相似的用途。因而,可将CU划分成子CU。大体来说,在本发明中对CU的引用可指代图片的最大译码单元或LCU的子CU。可将LCU划分成子CU,且可将每一子CU划分成子CU。针对位流的语法数据可定义可将LCU划分的最大次数,将此最大次数称作CU深度。因此,位流也可定义最小译码单元(SCU)。IXU可与四元树数据结构相关联。大体来说,四元树数据结构针对每一⑶包含一个节点,其中根节点对应于所述LCU。如果将CU划分成四个子CU,那么对应于所述CU的节点包含四个叶节点,所述四个叶节点中的每一者对应于所述子CU中的一者。所述四元树数据结构中的每一节点可提供针对所述对应CU的语法数据。举例来说,在所述四元树中的节点可包含划分旗标,从而指示是否将对应于所述节点的CU划分成子CU。可递归地定义针对CU的语法元素,且针对CU的语法元素可取决于是否将所述CU划分成子CU。未经划分的⑶可包含一个或一个以上预测单元(PU)。大体来说,I3U表示对应⑶的所有或一部分,且包含用于检索针对所述PU的参考样本的数据。举例来说,当将所述PU以帧内模式编码时,所述PU可包含描述所述ro的帧内预测模式的数据。作为另一实例,当将所述PU以帧间模式编码时,所述PU可包含定义所述PU的运动向量的数据。定义所述运动向量的数据可描述(例如)所述运动向量的水平分量、所述运动向量的垂直分量、所述运动向量的分辨率(例如,四分之一像素精确度或八分之一像素精确度)、所述运动向量指向的参考帧,和/或针对所述运动向量的参考列表(例如,列表O或列表I)。所述CU的定义PU的数据也可描述(例如)将所述CU分割成一个或一个以上W。在未译码所述CU、以帧内预测模式编码所述CU抑或以帧间预测模式编码所述CU之间,分割模式可能不同。 具有一个或一个以上I3U的⑶也可包含一个或一个以上变换单元(TU)。继使用PU进行预测之后,视频编码器可计算针对CU的对应于的部分的残余值。可将所述残余值变换、量化及扫描。TU未必限制于PU的大小。因而,TU可大于或小于相同CU的对应PU。在一些实例中,TU的最大大小可为对应CU的大小。本发明也使用术语“块”来指代CU、PU或TU中的任一者。 大体来说,本发明的技术涉及扫描视频数据及对其进行熵译码。即,举例来说,本发明的技术可涉及扫描与TU的经量化变换系数相关联的有效性信息以及其它信息及对其进行熵译码,其它信息例如与经量化变换系数相关联的正负号、所述经量化变换系数的电平、特定经量化变换系数是否为在变换系数块中的最后有效系数等等。在一实例中,本发明的技术涉及确保用于对与沿着特定扫描路径定位的一个或一个以上变换系数相关联的有效性信息进行熵译码的上下文支持邻域不包含定位于所述扫描路径中的上下文支持元素。即,举例来说,本发明的技术包含确定上下文支持邻域,所述上下文支持邻域允许针 对与在特定扫描路径中的所有变换系数相关联的有效性旗标的并行上下文计算。此类上下文支持邻域可允许实现上下文预先提取,且也可促进使用推测式计算的多个有效性旗标的译码。举例来说,在特定扫描路径中无任何上下文支持元素的情况下,可以并行方式计算用于对与定位于所述扫描路径中的所有量化转换系数相关联的有效性信息进行译码的上下文(例如,可将此计算称作“并行上下文计算”)。自特定扫描路径消除上下文支持元素还可允许实现针对定位于所述扫描路径中的所有变换系数的上下文的预先提取(例如,可将此获取称作“上下文预先提取”),且可促进使用推测式计算的多个有效性旗标的译码。推测式计算的实例描述于JCTVC-C062中:“TE8:TI并行上下文处理(PCP)建议(TE8:TI Parallel Context Processing(PCP)Proposal) ”,第三届 JCT-VC 会议,广州,中国,2010年10月,所述文献可公开见于http://phenix.1nt-evry.fr/jct/doc_end_user/current_document.php id = 1311。在本发明中可将此类概念称作支持有效性信息的并行译码。在另一实例中,本发明的技术还可涉及产生用于扫描与经变换残余视频数据相关联的有效性信息的扫描次序。本发明的方面可包含产生允许并行上下文计算的扫描次序,从而允许实现用于有效性旗标译码的上下文预先提取。根据本发明的一些方面,此扫描次序也可促进使用推测式计算的多个有效性旗标的译码。如上文所指出,可在本发明中将此类概念称作支持有效性信息的并行译码。本发明大体上将“有效性信息”称为指示经量化变换系数是否为非零的信息。举例来说,如上文所指出,在变换及量化之后,与视频数据块相关联的某些残余值可减小至零。可将剩余的非零经量化变换系数称作“有效”。视频编码器可使用有效性旗标来识别此类非零经量化变换系数。即,所述视频编码器可针对二维变换系数矩阵的每一位置来设置有效性旗标。所述视频编码器可针对所述经量化变换系数为非零的位置将有效性旗标设置为“一”值。或者,所述视频编码器可针对所述经量化变换系数为零的位置将有效性旗标设置为“零”值。如上文描述,可将所得的有效性旗标的二维栅格(例如,对应于经量化变换系数栅格)称作有效性图。本发明还大体上涉及“上下文支持邻域”(例如,也称作“上下文模板”),所述“上下文支持邻域”识别用于对与变换系数相关联的特定符号或旗标(例如,变换系数的正负号、变换系数的电平、有效性旗标、指示特定经量化变换系数是否为最后有效系数的旗标等等)进行熵译码的上下文。举例来说,上下文自适应性二进制算术译码(CABAC)通常涉及选择对上下文操作以对与视频数据块相关联的符号进行编码的上下文模型。举例来说,上下文可涉及邻近当前正被编码的符号的符号的值是零抑或非零。所述上下文支持邻域可识别上下文元素相对于当前正被编码的符号的相对位置。即,举例来说,上下文支持邻域可识别邻近当前正被译码的符号的五个先前译码的符号的位置(例如,通常定位于当前正被编码的符号的上方及左侧)。所述上下文包含在此类邻近位置中的符号的值。此外,本发明大体上将“扫描次序”称为如下次序,按所述次序将与变换系数相关联的特定符号或旗标(例如,变换系数的正负号、变换系数的电平、有效性旗标、指示特定经量化变换系数是否为最后有效系数的旗标等等)自二维块或矩阵序列化至一维阵列。举例来说,所述扫描次序可通过在序列化变换系数时参考有效性旗标及变换系数在所述二维矩阵中的相对位置来识别借以将所述变换系数序列化的序列。本发明还可将“扫描路径”称为如下路径,按所述路径将与变换系数相关联的特定符号或旗标(例如,变换系数的正负号、变换系数的电平、有效性旗标、指示特定经量化变换系数是否为最后有效系数的旗标等等)自二维矩阵序列化至一维阵列。即,所述扫描路径可通过参考穿过所述二维 矩阵的追踪路径(例如,以45度角跨越变换系数块的对角线路径)来识别借以将变换系数序列化的序列。因此,扫描路径可具有相对于(例如)变换系数块的特定定向。即,如果扫描路径以45度角跨越变换系数块,那么可将所述扫描路径称作对角线定向。类似地,如果扫描路径自左至右(或自右至左)沿水平线跨越变换系数块,那么可将所述扫描路径称作水平定向。如果扫描路径自顶部至底部(或自底部至顶部)沿垂直线跨越变换系数块,那么可将所述扫描路径称作垂直定向。在一些实例中,扫描路径可大体上指代以所述扫描次序跨越特定变换系数块的单一遍历。因此,变换系数块可包含一个以上扫描路径。在出于说明目的的实例中,使用水平定向的扫描次序扫描的8x8变换系数块可具有八个扫描路径(例如,针对变换系数的每一行有一个水平定向扫描路径)。术语“扫描次序”及“扫描路径”两者均可用以描述将变换系数的二维矩阵序列化的方式,且可在本文中互换地使用所述两个术语。本发明的技术包含确定上下文支持邻域,所述上下文支持邻域允许用于对在扫描路径中的变换系数的有效性旗标进行译码的上下文的并行计算。根据本发明的一些方面,视频译码器可初始地识别用于扫描与视频数据块的经量化变换系数相关联的有效性信息的扫描路径。即,针对特定TU,所述视频译码器可确定具有特定方向定向的扫描路径来将有效性信息(例如,有效性旗标)序列化。实例包含对角线定向的扫描路径、垂直定向扫描路径及水平定向扫描路径。在识别所述扫描路径之后,所述视频译码器可确定所述上下文支持邻域是否包含定位于所述扫描路径中的任何元素。举例来说,如上文所指出,所述视频译码器可通过使用对角线定向的模式(例如,自TU的相对右上角至所述TU的左下角)来扫描有效性信息及关于变换系数的其它信息(例如,正负号、电平等等)来将所述有效性信息及关于变换系数的其它信息序列化。也可使用例如右上至左下及“之”字形的其它对角线定向的模式。视频译码器可确定所述上下文支持邻域是否包含沿着所述对角线扫描路径的任何元素。即,针对所述TU的特定变换系数位置,所述视频译码器可确定所述上下文支持邻域是否包含在右上(例如,在45度角处)或左下处(例如,在45度角处)邻近所述特定变换系数位置的元素。如下文更详细描述,依赖这些上下文邻域支持元素(例如,沿着所述扫描路径的元素)可阻碍所述视频译码器以并行方式计算针对有效性信息的上下文的能力,这是因为在所述上下文支持邻域中的所有数据必须可用于(例如,已经译码)允许实现上下文的并行计算。如果所述上下文支持邻域包含沿着所述扫描路径的元素,那么译码器可能在确定针对当前位置的上下文之前被迫等待在所述扫描路径中的上下文支持元素(其领先于当前正被译码的位置)完成译码。此延迟减少了所述视频译码器有效地处理有效性信息的能力。因此,本发明的方面涉及通过在译码期间排除位于由扫描方向定义的路径(例如,“扫描路径”)中的上下文支持邻域元素而不作考虑来优化用于并行上下文计算的上下文支持邻域。当在所述扫描路径中不包含上下文支持邻域的任何元素时,熵译码器可以并行方式沿着所述扫描路径计算针对有效性信息的所有上下文。这是因为所有所需要的信息皆属于与先前经译码扫描路径相关联的先前经译码的有效性信息。本发明的其它方面包含确定允许以并行方式计算针对有效性信息的上下文的扫描次序。举例来说,本发明的技术包含产生允许实现同时计算针对一个以上有效性旗标的上下文的扫描次序。

可基于数个变量来开发用于针对有效性信息的上下文的并行计算的扫描次序。在一实例中,可基于以下变量来产生用于并行上下文计算的扫描次序:预定义上下文支持邻域、用于影响扫描次序的定向的主要优先级量度、用于进一步影响所述扫描次序的定向的次要优先级量度及并行线程的预定义数目(例如,针对待并行计算的有效性旗标的所需上下文数目)。如下文更详细描述,通过变更至所述扫描次序产生过程的输入变量中的一者或一者以上,可产生允许针对有效性信息的上下文的并行计算(“并行友好”)的展现出各种不同定向的扫描次序。如在本文中所描述,“并行友好”可大体上指代确定允许针对并行地与一个以上变换系数相关联的有效性旗标(或与所述变换系数相关联的其它信息,例如正负号、电平等等)的并行上下文计算的上下文支持邻域和/或扫描次序的能力。此外,“并行友好”还可大体上指代执行针对一个以上变换系数的上下文的预先提取的能力,此能力可促进使用推测式计算的多个有效性旗标的译码。如上文所指出,所述上下文支持邻域可识别用于对特定符号或旗标进行熵译码的上下文。即,在对有效性信息进行熵译码时,所述上下文支持邻域可识别所述上下文元素相对于当前正被译码的有效性旗标的相对位置。在一些情况下,所述上下文支持邻域可为固定的。所述主要优先级量度可经设计以影响所产生的扫描次序的定向。举例来说,扫描次序定向可指示扫描有效性信息的大体次序。即,如果扫描次序为垂直定向的,那么相较于与所述块的相对右侧的变换系数相关联的有效性信息,可更偏向与视频数据块的相对左侧的变换系数相关联的有效性信息(例如,先于与所述块的相对右侧的变换系数相关联的有效性信息来扫描)。举例来说,可在与经量化变换系数的最右列相关联的有效性信息之前完全扫描与经量化变换系数的最左列相关联的有效性信息。在另一实例中,如果扫描次序为水平定向的,那么相较于与所述块的相对底部的变换系数相关联的有效性信息,可更偏向与视频数据块的相对顶部的变换系数相关联的有效性信息(例如,先于与所述块的相对底部的变换系数相关联的有效性信息来扫描)。举例来说,可在与经量化变换系数的最底行相关联的有效性信息之前完全扫描与经量化变换系数的最顶行相关联的有效性信息。在另一实例中,如果扫描次序为对角线定向的,那么相较于与所述块的相对右下部分的变换系数相关联的有效性信息,可更偏向与视频数据块的相对左上部分的变换系数相关联的有效性信息(例如,先于与所述块的相对右下部分的变换系数相关联的有效性信息来扫描)。根据本发明的一些方面,所述主要优先级量度可包含在所述扫描次序产生过程期间应用的函数,所述函数可影响所述所产生的扫描次序的定向。即,在一实例中,所述主要优先级量度可为相较于沿着变换系数的列扫描有效性信息更偏向沿着变换系数的行扫描有效性信息的函数。次要优先级量度可包含也在所述扫描次序产生过程期间应用的另一函数,所述函数可进一步影响所产生的扫描的定向。在一些实例中,可将所述次要优先级量度作为平权决断器(tiebreaker)来应用。即,如果所述主要优先级量度指示两个有效性旗标具有相等优先级(例如,根据所述主要优先级量度),那么可应用所述次要优先级量度来解决此类平权项。输入至所述扫描次序产生过程的并行线程的数目可用以影响所产生的扫描次序可支持的并行处理量。举例来说,所输入的并行线程的数目可为预定义常数(例如,二、三、四等等),所述预定义常数影响所产生的扫描可支持的并行处理量。即,输入的并行线程的数目“二”可产生允许有效地对两个有效性旗标进行并行熵译码的扫描次序。类似地,输入的并行线程的数目“三”可产生允许有效地对三个有效性旗标进行并行熵译码的扫描次序,等等。根据本发明的一些方面,变化用以开发所述并行友好扫描次序的元素中的一者或一者以上(例如,上下文支持邻域、主要优先级量度、次要优先级量度及并行线程的所需数目)可改变所得扫描次序的定向。举例来说,变更所述主要优先级量度和/或次要优先级量度可改变所得扫描次序的定向。即,在给定特定上下文支持邻域的情况下,可变化所述主要优先级量度和/或次要优先级量度以产生水平、垂直或对角线定向的扫描。以此方式,本发明描述用于产生具有不同定向的并行友好扫描次序的技术。实施具有不同定向的并行友好扫描次序可自译码及并行化角度两者增加扫描的效率。举例来说,大体上最有效的扫描次序将非零变换系数集中在序列化阵列前部,由此增加熵译码效率。此外,大体上最有效的扫描次序具有零值变换系数的相对长的延行(run),由此进一步增加熵译码效率。即,将非零变换系数集中在变换系数的序列化阵列前部以及增加零值变换系数的延行可允许以较少位来传信所述变换系数。然而,仅经设计以将非零变换系数集中在所述阵列之前部及产生零的长延行的扫描次序可能未必为并行友好的。举例来说,特定扫描次序可将非零变换系数集中在阵列前部,但对于用于对有效性旗标进行译码的上下文的并行计算来说可能并非优化的。即,如果正与第二有效性旗标并行译码的有效性旗标的上下文支持邻域依赖于第二有效性旗标,那么所述扫描次序可能不为并行友好的。如上文所指出,为了有效地以并行方式对有效性信息进行熵译码,在所述上下文支持邻域中的所有数据必须为可用的(例如,已经译码)。本发明的技术涉及产生及实施具有不同定向的数个并行友好扫描次序。举例来说,可在设计环境中通过变化用以开发所述并行友好扫描的元素中的一者或一者以上来产生所述并行友好扫描。在扫描及熵译码视频数据时可由视频编码器及解码器来存储及使用这些并行友好扫描次序中的一者或一者以上。所述视频译码器可基于所述扫描定向或其它因素(例如帧内预测模式)的显式传信自数个所存储的并行友好扫描选择一扫描。在一实例中,在帧内预测之后基于用于预测的帧内预测模式来扫描变换系数可为有益的。即,即使在将可分离方向变换应用于残余值的二维矩阵之后,所得的二维变换系数矩阵仍可能展现某种方向性。举例来说,考虑使用垂直帧内预测模式来预测CU。在预测、变换及量化之后,与所述CU相关联的非零经量化变换系数可倾向于沿着水平方向存在(例如,沿着所述二维矩阵的相对顶部)。因此,以下动作可为有益的:在水平方向中扫描变换系数,使得在所述二维矩阵中的非零系数可进一步朝向所得一维向量的开始端聚拢。根据本发明的一些方面,在设计环境中的开发者可通过首先确定所需并行线程的数目来开发具有特定定向的并行友好扫描次序。所述开发者可接着选择上下文支持邻域、主要优先级函数及次要优先级函数以产生展现特定定向的扫描次序。如上文所指出,在一些实例中,可开发及存储数个并行友好扫描次序以供视频编码器及解码器在扫描及熵译码视频数据时使用。大体来说,并行友好扫描次序可允许实现针对有效性信息的上下文的并行计算。举例来说,并行友好扫描次序可 允许实现多个上下文的预先提取且促进用于对多个有效性旗标进行熵译码的推测式计算。在操作中,视频译码器可选择具有特定定向的特定并行友好扫描次序(其具有增加熵译码效率的最高可能性同时允许实现针对有效性信息的上下文的并行计算)。在一些实例中,可基于译码量度来作出所述选择,所述译码量度例如用以预测所述视频数据的预测模式或在所述变换过程期间应用的特定变换。根据本发明的一些方面,在熵译码期间应用并行友好扫描次序以对有效性信息进行熵译码。此类扫描次序可允许实现针对有效性信息的上下文的并行计算。举例来说,并行友好扫描次序可允许实现多个上下文的预先提取且促进用于同时对多个有效性旗标进行熵译码的推测式计算。用于多个有效性旗标的熵译码的CABAC方案的实例描述于JCTVC-C227 中,“HHI 变换译码的并行化(Parallelization of HHI Transform Coding)”,第三届JCT-VC会议,广州,中国,2010年10月,所述文献可公开见于http://phenix.1nt-evry.fr/jet/doc_end_user/current_document.php id = 1330 且以引用的方式全文并入本文;以及JCTVC-C062中,“TE8:TI并行上下文处理(PCP)建议(TE8:TIParallelContext Processing(PCP)Proposal) ”,第三届 JCT-VC 会议,广州,中国,2010 年 10 月,所述文献可公开见于 http://phenix.1nt-evry.fr/jet/doc_end_user/current_document.php id = 1131且以引用的方式全文并入本文。图1为说明可利用用于有效地扫描有效性信息且对其进行熵译码的技术的实例视频编码及解码系统10的框图。如在图1中所展示,系统10包含源装置12,源装置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仅为一个实例。用于有效地以并行方式扫描有效性信息且对其进行熵译码的技术可由任何数字视频编码和/或解码装置来执行。尽管本发明的技术大体上由视频编码装置或视频解码装置来执行,但所述技术也可由视频编码器/解码器(通常称作“CODEC(编码解码器)”)来执行。源装置12及目的地装置14仅仅为这些译码装置的实例,在所述译码 装置中,源装置12产生用于发射至目的地装置14的经译码视频数据。在一些实例中,装置12、14可以实质上对称方式进行操作,使得装置12、14中的每一者包含视频编码及解码组件。因此,系统10可支持在视频装置12、14之间的单向或双向视频发射,例如,用于视频串流、视频播放、视频广播或视频电话。源装置12的视频源18可包含视频捕获装置,例如视频摄影机、含有先前所捕获的视频的视频存档,和/或来自视频上下文提供者的视频馈入。作为另外替代例,视频源18可产生基于计算机图形的数据来作为源视频,或实况视频、存档视频及计算机产生的视频的组合。在一些状况中,如果视频源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)。然而,本发明的技术不限于任何特定译码标准,且可应用于ffiVC或其它标准或当前可用或可能在未来出现的专属译码过程。其它实例包含MPEG-2及ITU-TH.263。尽管未在图1中展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器整合,且可包含用以处 置在共同数据串流或独立数据串流中的音频及视频两者的编码的恰当MUX-DEMUX单元或其它硬件及软件。如果适用,那么MUX-DEMUX单元可遵照ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。ITU-T H.264/MPEG-4(AVC)标准是由 ITU-T 视频译码专业团体(VCEG)连同 ISO/IEC动画专业团体(MPEG) —起作为被称为联合视频小组(JVT)的集体合作的产物而制订。在一些方面中,本发明中所描述的技术可应用于大体上遵照a 264标准的装置。H.264标准由ITU-T研究小组在2005年3月描述于ITU-T推荐H.264 (用于一般视听服务的进阶视频译码(Advanced Video Coding for generic audiovisual services))中,其在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。联合视频小组(JVT)继续致力于对 H.264/MPEG-4AVC 的扩展。视频编码器20及视频解码器30可各自实施为各种适宜编码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合。当以软件来实施所述技术时,装置可将用于所述软件的指令存储于适宜的非暂时性计算机可读媒体中且使用一个或一个以上处理器来执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,所述一个或一个以上编码器或解码器中的任一者可在相应摄影机、计算机、行动装置、订户装置、广播装置、机顶盒、服务器或其类似者中整合为组合式编码器/解码器(CODEC)的部分。
视频序列通常包含一系列视频帧。图片群组(GOP)大体上包括一系列一个或一个以上视频帧。GOP可在GOP的标头、GOP的一个或一个以上帧的标头中或在别处包含语法数据,所述语法数据描述包含于GOP中的数个帧。每一帧可包含描述相应帧的编码模式的帧语法数据。视频编码器20通常对个别视频帧内的译码单元操作以便对所述视频数据进行编码。译码单元可对应于IXU或子⑶,且术语⑶可指代IXU或子⑶。针对IXU的标头信息可描述所述LCU的大小、可将所述LCU划分的次数(本发明中称作CU深度)或其它信息。每一视频巾贞可包含多个片,且每一片可包含多个ιχυ。 在本发明中,可互换地使用“NxN”及“N乘N”来依据垂直及水平尺寸指代块(例如,CU、PU或TU)的像素尺寸,例如16x16像素或16乘16像素。大体来说,16x16块在垂直方向中将具有16个像素(y = 16)且在水平方向中将具有16个像素(x = 16)。类似地,NxN块大体上在垂直方向中具有N个像素且在水平方向中具有N个像素,其中N表示正整数值。可以行及列来配置块中的像素。另外,块未必需要在水平方向中与在垂直方向中具有相同数目个像素。举例来说,块可包括NxM个像素,其中M未必等于N。⑶的I3U可包括在空间域(也称作像素域)中的像素数据,同时⑶的TU可包括在变换域中的系数,例如在对残余视频数据应用例如以下各者的变换之后,例如离散余弦变换(DCT)、整数变换、小波变换或在概念上相似的变换。在一些状况中,TU也可指代在空间域中的残余数据。所述残余数据大体上表示在PU的值与来自输入视频数据的设在同一位置的未编码像素的值之间的像素差。所述TU可包含在变换域中的量化值。当将DCT用以变换TU的系数时,可将所述TU的系数称作处于频率域中。视频编码器20可实施用于有效地扫描有效性信息且对其进行熵译码的本发明的技术中的任一者或所有者。类似地,视频解码器30可实施用于有效地扫描有效性信息且对其进行熵译码的这些技术中的任一者或所有者。即,根据本发明的一些方面,视频解码器30可以与视频编码器20对称的方式操作。视频编码器20可接收IXU且确 定是否应将所述IXU划分成各自包括子⑶的四等分或是否应在不划分的情况下编码所述LCU。在决定将LCU划分成子CU之后,视频编码器20可确定是否应将每一子CU划分成各自包括子CU的四等分。视频编码器20可继续递归地确定是否应划分CU,其中最大划分数目由LCU深度指示。视频编码器20可提供指示LCU的划分及所述LCU的子CU的四元树数据结构。所述LCU可对应于所述四元树的根节点。所述四元树的每一节点可对应于所述LCU的CU。此外,每一节点可包含指示所述对应CU是否经划分的划分旗标值。举例来说,如果所述IXU经划分,那么视频编码器20可设置所述根节点中的划分旗标的值以指示所述LCU经划分。接着,视频编码器20可设置所述根节点的子节点的值以指示所述LCU中的子CU中的哪一者(如果存在的话)经划分。未经划分的CU可对应于所述四元树数据结构的叶节点,其中叶节点不具有任何子节点。视频编码器20可对对应于所述四元树数据结构中的叶节点的所述LCU的每一子CU进行编码。出于举例的目的,本发明描述关于帧内预测编码的技术。因而,在此假定下,视频编码器20可形成针对对应于所述四元树数据结构中的叶节点的每一 CU的预测单元(PU)。在一些实例中,视频编码器20可选择针对所述LCU的三十五个不同的帧内预测模式中的一者且在四元树的根节点中传信所选择的帧内预测模式。接着,对于对应于叶节点的每一 CU,视频编码器20可确定是否应形成具有与所述CU相同大小的一个PU,或是否应形成表示所述CU的四等分的四个PU。每一对应于根据所述所选择的帧内预测模式自邻近的先前经译码的CU检索的预测数据。在帧内预测性编码或帧间预测性译码以产生针对CU的PU之后,视频编码器20可计算残余数据以产生针对所述CU的一个或一个以上变换单元(TU)。所述残余数据可对应于在未编码图片的像素与CU的PU的预测值之间的像素差。视频编码器20可形成包含针对所述CU的残余数据的一个或一个以上TU。视频编码器20可接着变换所述TU。视频编码器20可基于用于以帧内模式预测所述CU的PU的帧内预测模式来选择变换。在一些实例中,视频编码器20可经配置以将一个以上变换应用于TU(即,级联变换)。通过变换针对TU的残余数据,视频编码器20产生变换系数矩阵。此矩阵大体上具有与至所述变换的输入块相同的大小。大体上,所述变换过程准备用于量化的残余数据,而所述量化进一步压缩所述数据。量化大体上指代将变换系数量化以可能地减少用以表示所述系数的数据量的过程。所述量化过程可减少与所述系数中的一些或所有者相关联的位深度。举例来说,可在量化期间将n位值舍去为m位值,其中n大于m。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经经量化变换系数(例如,有效性、电平、正负号、最后有效性系数等等)以产生可进行熵编码的向量。举例来说,视频编码器20可应用对角线(“之”字形或右上至左下或左下至右上)模式、水平定向模式或垂直定向模式来扫描所述经经量化变换系数。根据本发明的一些方面,并非应用预定义扫描次序,视频编码器20可产生并行友好扫描次序,或其可预先编程有数个并行友好扫描次序。举例来说,视频编码器20可使用数个变量来产生用于允许实现有效性旗标上下文的并行计算的扫描次序。在一些实例中,如参考图9至IOB更详细描述,视频编码器20可基于预定义上下文支持邻域、用于影响扫描次序的定向的主要优先级量度、用于进一步影响扫描次序的定向的次要优先级量度及并行线程的预定义数目而产生并行友好扫描次序。

在另一实例中,视频编码器20可应用数个所存储的并行友好扫描次序中的一者,可使用本发明中所描述的扫描次序产生技术来产生所述并行友好扫描次序。即,可通过(例如)在设计环境中开发的数个并行友好扫描次序来将视频编码器20预先编程。视频编码器20可基于(例如)另一译码量度(例如,预测模式、变换等等)来选择特定并行友好扫描次序。在扫描所述变换矩阵以形成一维向量之后和/或期间,视频编码器20可(例如)根据CAVLC、CABAC, PIPE、基于语法的上下文自适应性二进制算术译码(SBAC)或另一熵译码方法来对所述一维向量进行熵编码。为了执行CAVLC,视频编码器20可选择用于待发射的符号的可变长度码。可建构VLC中的码字以使得相对较短的码对应于较有可能的符号,而较长码对应于较不可能的符号。以此方式,相对于(例如)针对待发射的每一符号使用相等长度码字,使用VLC可达成位节省。为了执行CABAC,视频编码器20可选择用以应用于特定上下文的上下文模型来对待发射的符号进行编码。举例来说,所述上下文可涉及邻近值是否为非零。视频编码器20也可对语法元素进行熵编码,例如包含有效系数旗标及最后系数旗标的有效性信息。
此外,在执行CABAC、PIPE或另一上下文自适应性方案时,视频编码器20可确定且应用上下文支持邻域。根据本发明的方面,视频编码器20可应用上下文支持邻域,所述上下文支持邻域支持针对有效性信息的上下文的有效并行计算。在一实例中,视频编码器20可识别在扫描期间所应用的预定义方向扫描(例如,对角线扫描)且确定所述上下文支持邻域是否包含定位于所述扫描路径中的任何元素。如下文更详细描述,依赖于此类上下文邻域支持元素(例如,定位于所述扫描路径中的元素)可阻碍视频译码器以并行方式计算有效性上下文信息的能力,这是因为在视频编码器20可确定针对下一元素的有效性旗标上下文之前,其可能被迫等待一个元素被编码。此延迟减少了所述视频译码器以并行方式计算有效性旗标上下文的能力。视频解码器30可以与视频编码器20的方式基本上对称的方式来操作。举例来说,视频解码器30可接收表示经编码CU(包含经编码PU及TU数据)的熵编码数据。视频解码器30可对所接收的数据进行反熵编码,从而形成经解码的量化系数。当视频编码器20使用可变长度码演算法来对数据进行熵编码时,视频解码器30可使用一个或一个以上VLC表来确定对应于所接收的码字的符号。当视频编码器20使用算术译码演算法来对数据进行熵编码时,视频解码器30可使用上下文模型来对所述数据进行解码,所述上下文模型可对应于由视频编码器20用以对数据进行编码的相同上下文模型。另外,视频解码器30可以与视频编码器20相同的方式来应用上下文支持邻域。视频解码器30可接着使用扫描来扫描所述经解码系数,所述扫描镜像由视频编码器20用以自变换系数的序列化阵列产生变换系数的二维阵列的扫描。举例来说,根据本发明的方面,视频解码器30可产生并行友好扫描次序,或可预先编程有数个并行友好扫描次序。举例来说,视频解码器30可使用数个变量来产生用于允许实现有效性旗标上下文的并行计算的扫描次序。在一些实例中,如参考图9至IOB更详细描述,视频解码器30可基于预定义上下文支持邻域、用 于影响扫描次序的定向的主要优先级量度、用于进一步影响扫描次序的定向的次要优先级量度及并行线程的预定义数目而产生并行友好扫描次序。在另一实例中,视频解码器30可应用数个所存储的并行友好扫描次序中的一者,可使用本发明中所描述的扫描次序产生技术来产生所述并行友好扫描次序。即,可通过(例如)在设计环境中开发的数个并行友好扫描次序来将视频解码器30预先编程。视频解码器30可基于(例如)另一译码量度(例如,预测模式、变换等等)来选择特定并行友好扫描次序。视频解码器30可由此根据由所述熵解码过程产生的一维向量来形成二维矩阵。接下来,视频解码器30可对在由所述扫描产生的二维矩阵中的系数进行反量化。视频解码器30可接着将一个或一个以上反变换应用于所述二维矩阵。所述反变换可对应于由视频编码器20应用的变换。视频解码器30可基于以下各者来确定待应用的反变换,例如,用以形成所述PU的帧内预测模式,及针对特定大小的TU多个变换是否为可用,在对应于当前正被解码的CU的四元树的根节点处传信的信息。视频编码器20及视频解码器30可各自实施为各种适宜编码器或解码器电路中的任一者(在适用时),例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器20及视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,所述一个或一个以上编码器或解码器中的任一者可整合为组合式视频编码器/解码器(CODEC)的部分。包含视频编码器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可执行在P帧或B帧中的块的帧内预测编码,例如在由运动估计单元42执行的运动搜索不产生所述块的足够预测时。运动估计单元42与运动补偿单元44可为高度整合的,但出于概念目的而单独地进行说明。运动估计为产生运动向量的过程,所述运动向量估计视频块的运动。举例来说,运动向量可指示在当前帧中的预测单元相对于参考帧的参考样本的移位。参考样本为被发现依据像素差密切匹配所述CU的包含正被译码的的部分的块,其可通过绝对差总和(SAD)、平方差总和(SSD)或其它差量度来确定。由运动补偿单元44执行的运动补偿可涉及基于由运动估计确定的运动向量来提取或产生预测单元的值。再一次,在一些实例中,运动估计单元42与运动补偿单元44可在功能上整合。运动估计单元42通过将帧间译码帧的预测单元与存储于参考帧存储区64中的参考帧的参考样本相比较来计算针对所述预测单元的运动向量。在一些实例中,视频编码器20可计算针对存储于参考巾贞存储区64中的参考巾贞的次整数(sub-1nteger)像素位置的值。举例来说,视频编码器20可计算所述参考帧的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行关于全像素位置及分数像素位置的运动搜索且输出具有分数像素精确度的运动向量。运动估计单元42将所计算的运动向量发送至熵译码单元56及运动补偿单元44。可将由运动向量识别的所述参考帧的部分称作参考样本。运动补偿单元44可(例如)通过检索由运动向量针对当前CU的预测单元所识别的参考样本来计算针对所述PU的预测值。作为由运动估计单元42及运动补偿单元44执行的帧间预测的替代,帧内预测单元46可以帧内预测方式来对所接收的块进行编码。帧内预测单元46可相对于邻近的先前经译码块来编码所接收的块,邻近的先前经译码块例如在当前块的上方、右上方、左上方或左侧的块(假定针对块的左至右、顶部至底部的编码次序)。可用各种不同的帧内预测模式来配置帧内预测单元46。举例来说,可基于正被编码的CU的大小用特定数目个方向预测模式(例如,35个方向预测模式)来配置帧内预测单元46。帧内预测单元46可通过(例如)计算针对各种帧内预测模式的错误值或速率-失真(例如,试图在不超过预定失真的情况下最大化压缩)及选择得到最低错误值的模式来选择帧内预测模式。方向预测模式可包含用于组合空间邻近像素的值及将所述组合值应用于PU中的一个或一个以上像素位置的功能。一旦已计算PU中的所有像素位置的值,那么帧内预测单元46可基于在所述PU与待编码的所接收块之间的像素差来计算针对所述预测模式的错误值。帧内预测单元46可继续测试帧内预测模式直至发现得到可接受的错误值的帧内预测模式为止。帧内预 测单元46可接着将发送至求和器50。视频编码器20通过自正被译码的原始视频块减去由运动补偿单元44或帧内预测单元46计算的预测数据来形成残余块。求和器50表示执行此减法运算的一个或一个以上组件。所述残余块可对应于值的二维矩阵,其中在所述残余块中的值的数目与在对应于所述残余块的PU中的像素的数目相同。在所述残余块中的值可对应于在所述PU中及在待译码的原始块中的设在同一位置的像素之间的差。变换单元52可自所述残余块形成一个或一个以上变换单元(TU)。变换单元52将变换应用于所述TU,从而产生包括变换系数的视频块,所述变换例如离散余弦变换(DCT)、方向变换或概念上类似的变换。因此,变换单元52可基于自帧内预测单元46接收的帧内预测模式的指示来选择待应用于所述TU的变换。变换单元52可将所得的变换系数发送至量化单元54。量化单元54可接着将所述变换系数量化。如上文所指出,量化大体上涉及将在相对大范围内的值映射至在相对小范围中的值,因而减少表示所述经量化变换系数所需的数据量。在一些状况中,量化可将一些值减小至零。在量化之后,熵译码单元56可扫描所述经经量化变换系数以将所述经经量化变换系数自二维矩阵序列化为一维阵列。与所述变换系数相关联的语法元素可包含指示特定系数是否有效(例如,非零)的有效系数旗标及指示特定系数是否为所扫描的最后系数的最后系数旗标。在一些例子中,熵译码单元56可传信最后有效系数的位置,继之以传信有效性图,再继之以传信系数电平和/或正负号。在一些实例中,熵译码单元56可以与经经量化变换系数电平相同的次序来扫描有效性图。在其它实例中,熵译码单元56可以与经经量化变换系数电平相反的方向来扫描所述有效性图。大体来说,熵译码单元56可应用预定义方向扫描模式来扫描所述经经量化变换系数。在一实例中,熵译码单元56可应用对角线(“之”字形)模式来扫描所述经经量化变换系数,例如参考图4及图5A所展示及描述。在另一实例中,熵译码单元56可应用水平定向模式(例如,图6A)或垂直定向模式(例如,图7A)来扫描所述经经量化变换系数。在使用所述预定义扫描次序扫描期间和/或之后,熵译码单元56可对所述序列化经经量化变换系数进行熵编码。为了对所述变换系数进行熵编码,熵译码单元56可选择用以执行CABAC、PIPE或另一上下文自适应性熵译码过程的上下文模型。熵译码单元56可基于(例如)在先前所扫描的N个系数中的有效系数的数目和/或相对位置来选择上下文模型,其中N为可与正被扫描的块的大小相关的整数值。熵译码单元56还可基于以下各者来选择所述上下文模型:用以计算经变换至变换系数块中的残余数据的预测模式,及用以将所述残余数据变换至所述变换系数块中的变换类型。在使用帧内预测模式来预测对应预测数据时,熵译码单元56可进一步使上下文模型的选择基于所述帧内预测模式的方向。熵译码单元56可在对变换系数进行熵编码时确定及应用上下文支持邻域以识别用于确定恰当上下文模型的上下文。举例来说,熵译码单元56可通过确定针对当前正被译码的变换系数的上下文来选择上下文模型。所述上下文支持邻域可识别用于对所述变换系数进行熵译码的上下文的相对位置。如所指出,所述上下文(例如,位于所述上下文邻域位置中的实际值)可确定所述概率模型。在一些实例中,熵译码单元56可确定(或预先编程有)并行友好上下文支持邻域。举例来说,根据本发明的方面,熵译码单元56可实施支持用于对有效性旗标进行译码的上下文的并行计算的上下文支持邻域。即,熵译码单元56可识别允许实现用于对有效性旗标进行译码的上下文的并行计算的若干位置中的上下文。在一实例中,熵译码单元56可初始地识别经实施以扫描与所述经经量化变换系数相关联的有效性信息的预定义方向扫描路径(例如,”之”字形、水平、垂直等等)。在识别所述扫描路径之后,熵译码单元56可确定用以对所述有效性信息进行熵译码的上下文支持邻域是否包含定位于所述扫描路径中的任何元素。依赖于此类上下文邻域支持元素(例如,沿着所述扫描路径的元素)可阻碍视频译码器以并行方式处理有效性信息的能力 。举例来说,为了以并行方式计算有效性旗标上下文,在所述上下文支持邻域中的所有数据必须为可用的(例如,已经译码)。如果所述上下文支持邻域包含沿着所述扫描路径的元素,那么译码器在对针对当前位置的有效性旗标进行译码之前可能被迫等待在所述扫描路径中的上下文支持元素(其领先于当前正被译码的位置)完成译码。此延迟减少了所述视频译码器以并行方式计算针对所述扫描路径上的系数的有效性旗标上下文的能力。因此,根据本发明的方面,熵译码单元56可在译码期间将位于由所述扫描方向定义的路径(例如,所述“扫描路径”)中的上下文支持邻域元素排除而不做考虑。即,熵译码单元56可在确定针对当前变换系数的上下文时不考虑与经排除的上下文支持邻域元素(例如,位置)相关联的有效性旗标。当在所述扫描路径中不包含所述上下文支持邻域的元素时,熵译码单元56可以并行方式计算针对沿着所述扫描路径的系数的有效性旗标上下文。在一些实例中,熵译码单元56可应用上文引用的方案(例如,描述于JCTVC-C227中,“HHI 变换译码的并行化(Parallelization of HHI Transform Coding) ”,第三届 JCT-VC会议,广州,中国,2010年10月;以和/或描述于JCTVC-C062中,“TE8:TI并行上下文处理(PCP)建议(TE8: TI Parallel Context Processing (PCP) Proposal),,,第三届 JCT-VC会议,广州,中国,2010年10月)来执行有效性旗标上下文的并行计算及多个格的编码。在另一实例中,并非应用预定义扫描次序及可能地修改所述上下文支持邻域,熵译码单元56可产生及应用并行友好扫描次序。即,熵译码单元56可使用数个变量来产生及应用允许实现针对有效性信息的上下文的并行计算的扫描次序。举例来说,熵译码单元56可基于预定义上下文支持邻域、用于影响所述扫描次序的定向的主要优先级量度、用于进一步影响所述扫描次序的定向的次要优先级量度及并行线程的预定义数目而产生并行友好扫描次序。在又另一实例中,熵译码单元56可应用数个所存储的并行友好扫描次序中的一者,可使用本发明中所描述的扫描次序产生技术来产生所述并行友好扫描次序。即,可通过(例如)在设计环境中开发的数个并行友好扫描次序来将视频编码器20预先编程。熵译码单元56可基于(例如)另一译码量度来选择且应用特定并行友好扫描次序。即,熵译码单元56可自巾贞内预测单元46或自变换单元52接收所选择的巾贞内预测模式的指示,且基于所述帧内预测模式来应用并行友好扫描次序。在基于(例如)预定义上下文支持邻域、主要优先级量度、次要优先级量度及所需的并行线程的数目来产生特定并行友好扫描次序的实例中,熵译码单元56可实施用以产生所述并行友好扫描次序的上下文支持邻域。即,熵译码单元56可应用用以产生所述并行友好扫描次序的上下文支持邻域来以并行方式对语法元素(例如,有效性信息)进行熵编码。在一些实例中,如上文所指出,熵译码单元56可应用上文引用的方案(例如,描述于JCTVC-C227 中,“HHI 变换译码的并行化(Parallelization of HHI Transform Coding)”,第三届JCT-VC会议,广州,中国,2010年10月;以和/或描述于JCTVC-C062中,“TE8: TI并行上下文处理(PCP)建议(TE8:TI Parallel Context Processing(PCP)Proposal) ”,第三届JCT-VC会议,广州,中国,2010年10月)来执行有效性旗标上下文的并行计算及多个格的编码。 在一些状况中,熵译码单元56或视频编码器20的另一单元可经配置以除熵译码以外还执行其它译码功能。举例来说,熵译码单元56可经配置以确定宏块及分割区的CBP值。而且,在一些状况中,熵译码单元56可执行在宏块或其分割区中的系数的延行长度译码。反量化单元58及反变换单元60分别应用反量化及反变换以重建构像素域中的残余块(例如)以供随后作为参考块来使用。运动补偿单元44可通过将残余块添加至参考帧存储区64的帧中的一者的预测性块来计算参考块。运动补偿单元44也可将一个或一个以上内插滤波器应用于重建构的残余块以计算次整数像素值以供在运动估计中使用。求和器62将重建构的残余块添加至由运动补偿单元44产生的运动补偿预测块以产生重建构的视频块以供存储于参考帧存储区64中。运动估计单元42及运动补偿单元44可将重建构视频块用作参考块以对在后续视频帧中的块进行帧间译码。图3为说明对经编码视频序列进行解码的视频解码器30的实例的框图。视频解码器30可实施本发明中描述的用于有效地扫描有效性信息且对其进行熵译码的技术中的任一者或所有者。在图3的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、反量化单元76、反变换单元78、参考巾贞存储区82及求和器80。在一些实例中,视频解码器30可执行与关于视频编码器20(图2)所描述的编码遍次大体上互反的解码遍次。运动补偿单元72可基于自熵解码单元70接收的运动向量来产生预测数据。帧内预测单元74可基于所传信的帧内预测模式及来自当前帧的先前解码块的数据来产生针对所述当前帧的当前块的预测数据。在一些实例中,熵解码单元70或反量化单元76可使用镜像由视频编码器20使用的扫描的扫描来扫描所接收的值。在图3的实例中,视频解码器30可经配置以应用预定方向扫描次序(例如,与由视频编码器20应用的预定扫描次序对称),以应用由视频编码器20传信的扫描次序,或使用关于视频编码器20描述的相同过程以自数个所存储的扫描次序识别恰当扫描次序。根据本发明的方面,视频解码器30可经配置而以并行方式扫描及熵解码与经经量化变换系数块相关联的有效性信息。即,熵解码单元70可产生及应用与由视频编码器20产生的并行友好扫描次序相对称的并行友好扫描次序。举例来说,熵解码单元70可使用数个变量来产生及应用允许实现多个有效性旗标上下文的并行计算的扫描次序,所述数个变量包含(例如)预定义上下文支持邻域、用于影响所述扫描次序的定向的主要优先级量度、用于进一步影响所述扫描次序的定向的次要优先级量度及并行线程的预定义数目。在又另一实例中,熵解码单元70可应用数个所存储的并行友好扫描次序中的一者,可使用在本发明中所描述的扫描次序产生技术来产生所述数个所存储的并行友好扫描次序(例如,例如关于在图2中所展示的视频编码器20所描述的彼等)。S卩,可通过(例如)在设计环境中开发的数个并行友好扫描次序来预先编程视频解码器30。熵解码单元70可基于(例如)另一译码量度(例如所使用的预测模式或用以编码所接收的位流的变换)来选择及应用特定并行友好扫描次序。根据本发明的方 面,熵解码单元70可经配置以按与上文关于视频编码器20所描述的方式相同的方式来识别及应用上下文支持邻域。即,举例来说,熵解码单元70可在熵解码变换系数时确定及应用上下文支持邻域以识别用于确定恰当上下文模型的上下文。举例来说,熵解码单元70可通过确定针对当前正被译码的变换系数的上下文来选择上下文模型。所述上下文支持邻域可识别用于对所述变换系数进行熵译码的上下文的相对位置。如所指出,所述上下文(例如,位于所述上下文邻域位置中的实际值)可确定所述概率模型。在一些实例中,熵解码单元70可确定(或预先编程有)并行友好上下文支持邻域。熵解码单元70可实施支持用于对有效性旗标进行译码的上下文的并行计算的上下文支持邻域。在一实例中,熵解码单元70可确定上下文支持邻域是否包含定位于所述扫描路径中的任何元素,且可在译码期间将位于所述扫描路径中的上下文支持邻域元素排除而不做考虑。即,熵解码单元70可在确定针对当前变换系数的上下文时不考虑与经排除的上下文支持邻域元素(例如,位置)相关联的有效性旗标。当在所述扫描路径中不包含所述上下文支持邻域的元素时,熵解码单元70可以并行方式计算用于解码沿着所述扫描路径的所有有效性旗标的上下文。反量化单元76反量化(即,解量化)在位流中提供且由熵解码单元70解码的经经量化变换系数。所述反量化过程可包含(例如)由H.624解码标准或由HEVC定义的常规过程。所述反量化过程可包含使用由视频编码器20针对CU计算的量化参数QP来确定量化程度及(类似地)应加以应用的反量化程度。反变换单元58应用反变换,例如反DCT、反整数变换、反旋转变换或反方向变换。在一些实例中,反变换单元78可基于针对所接收的帧内预测编码块传信的帧内预测模式来确定反变换。如果基于所述帧内预测模式所述块具有有可能进行一个以上变换的大小,那么反变换单元78可基于在针对包含当前块的LCU的四元树的根节点处所传信的变换来确定待应用于所述当前块的变换。在一些实例中,反变换单元78可应用级联反变换,例如首先反旋转变换,继之以反方向变换。运动补偿单元72产生运动补偿块,可能基于内插滤波器来执行内插。用于具有次像素精确度的运动估计的内插滤波器的识别符可包含于语法元素中。运动补偿单元72可使用如在视频块的编码期间由视频编码器20使用的内插滤波器来计算用于参考块的次整数像素的内插值。运动补偿单元72可根据所接收的语法信息来确定由视频编码器20使用的内插滤波器,且使用所述内插滤波器来产生预测性块。运动补偿单元72及帧内预测单元74使用所述语法信息中的一些(例如,由四元树来提供)来确定用以编码经编码视频序列的帧的LCU的大小、描述如何划分所述经编码视频序列的帧的每一 CU (及类似地,如何划分次CU)的划分信息、指示如何编码每一划分的模式(例如,帧内或帧间预测,及对于帧内预测来说,帧内预测编码模式)、针对每一帧间编码的一个或一个以上参考帧(和/或含有所述参考帧的识别符的参考列表),及用以对所述经编码视频序列进行解码的其它信息。求和器80将残余块与由运动补偿单元72或帧内预测单元74产生的对应预测块组合以形成经解码块。如果需要,那么也可应用解块滤波器来对经解码块滤波以便移除方块效应假影。接着将经解码视频块存储于参考帧存储区82中,参考帧存储区82提供参考块以用于后续运动补偿,且还产生用于呈现于显示装置(例如图1的显示装置32)上的经解码视频。

图4为说明变换系数位置120A_120P(变换系数位置120)的实例“之”字形扫描的概念图。视频编码器20可经配置以在(例如)将DCT应用于残余块之后使用图4 “之”字形扫描来扫描系数块。此外,视频编码器20也可经配置以按相同方式来扫描相关语法元素块,例如有效性信息。即,在一个实例中,视频编码器20可经配置以根据图4 “之”字形扫描来扫描有效性信息块,且可经配置以按相同或相反次序来扫描系数电平。在图4中所展示的实例中,所述”之”字形扫描在变换系数位置120A处开始,接着进行至变换系数位置120B,接着至变换系数位置120E,接着至变换系数位置1201,接着至变换系数位置120F,接着至变换系数位置120C,接着至变换系数位置120D,接着至变换系数位置120G,接着至变换系数位置120J,接着至变换系数位置120M,接着至变换系数位置120N,接着至变换系数位置120K,接着至变换系数位置120H,接着至变换系数位置120L,接着至变换系数位置1200,且最终至变换系数位置120P。相似地,右上至左下对角线扫描经过按以下次序的变换系数位置:120A、120B、120E、120C、120F、1201、120D、120G、120J、120M、120H、120K、120N、120L、1200&120P。左下至右上对角线扫描经过按以下次序的变换系数位置:120A、120E、120B、1201、120F、120C、120M、120J、120G、120D、120N、120K、120H、1200、120L 及 120P。
通过执行“之”字形扫描,可将变换系数的二维配置转换成包含变换系数位置120中的每一者的值的一维阵列。可将这些值按扫描的次序配置于所述阵列中。举例来说,变换系数位置120A的值可在所述阵列中处在第一位,继之以变换系数位置120B、120E、1201、120F等等的值。图4的“之”字形扫描可与为了形成变换系数而应用于残余块的DCT相关联。大体来说,所述DCT可将与变换系数位置120相关联的像素的能量聚拢至所述经变换块的左上角中。因此,在DCT之后,最低频率系数可大体上出现于接近左上角处,而在所述DCT之后,最高频率系数可大体上出现于接近右下角处。因此,所述”之”字形扫描可经配置以试图确保将较低频率系数比较高频率系数较早地置于所述阵列中。以此方式,视频编码器可通过将应所述对应于较高频率系数的在阵列中靠后的系数归零(zero out)来压缩数据。还可针对其它变换来定义其它预定义扫描模式。举例来说,每一变换可与经设计以将由所述变换导致的较高量值系数比较低量值系数较早地置于阵列中的扫描模式相关联。所述变换中的一者可导致较高量值系数出现于沿着变换系数块的最左列处(例如,垂直定向),在此状况中,可定义变换系数位置120A处开始,接着进行至变换系数位置120E,接着至变换系数位置1201,接着至变换系数位置120M,接着至变换系数位置120B等等的对应扫描。作为另一实例,所述方向变换中的另一者可导致较高量值系数出现于沿着变换系数块的最顶行处(例如,水平定向),在此状况中,可定义在变换系数位置120A处开始,接着进行至变换系数位置120B,接着至变换系数位置120C,接着至变换系数位置120D,接着至变换系数位置120E等等的对应扫描。本发明的技术大体上涉及有效地扫描有效性信息及对其进行熵译码。对于在图4中所展示“之”字形扫描模式,本发明的方面包含在熵译码期间应用不包含沿着所述扫描路径的任何上下文元素的上下文支持邻域。即,举例来说,在对与关于变换系数位置120G的变换系数相关联的有效性信息进行熵译码时,所述上下文支持邻域将不包含在位置120D、120J或120M中的上下文元素。依赖于此类上下文邻域支持元素可阻碍视频译码器以并行方式计算针对多个有效性旗标的上下文的能力。举例来说,为了计 算针对位置120G的上下文,在所述上下文支持邻域中的所有数据必须为可用的(例如,已经译码)。如果所述上下文支持邻域包含沿着所述扫描路径的元素(例如在位置120DU20J或120M中的上下文元素),那么译码器在计算针对位置120G的有效性旗标的上下文之前可能被迫等待这些上下文支持元素完成译码。此延迟减少了所述视频译码器以并行方式计算有效性旗标上下文的能力。因此,本发明的方面涉及通过在译码期间将位于由所述扫描方向定义的路径(例如,“扫描路径”)中的上下文支持邻域元素排除而不做考虑来优化用于对有效性旗标进行译码的上下文的并行计算的上下文支持邻域。在图4中所展示的实例中,当在所述对角线扫描路径中不包含所述上下文支持邻域的元素时,熵译码器可以并行方式对沿着所述对角线扫描路径的所有有效性信息进行译码。尽管关于视频编码器20来描述图4的某些方面,但应理解,还可由视频解码器(例如视频解码器30)来应用所描述的技术。图5A至图7C为说明根据本发明的方面的实例扫描模式及对应并行友好上下文支持邻域的概念图。应理解将在图5A至7中所展示的扫描模式及上下文支持邻域作为非限制实例来提供,且其它扫描模式及上下文支持邻域可展现关于本文中所描述的上下文的并行计算的方面。图5A为说明用于扫描经经量化变换系数的对角线或”之”字形扫描模式140的概念图。举例来说,图5A包含可表示在视频数据块中的变换系数位置的数个圆圈141,其中每一变换系数位置具有对应经经量化变换系数。如在图5A中所展示,大体上以对角线或”之”字形模式来扫描所述变换系数。即,在图5A中所展示的二维块的变换系数系通过自所述块的相对左上部至所述块的相对右下部及自所述块的相对右下部至所述块的相对左上部来扫描所述变换系数而序列化至一维阵列。如上文所指出,在一些实例中,可先于与所述变换系数相关联的电平信息来扫描与所述变换系数相关联的有效性信息。此外,可按与所述经经量化变换系数电平相同或相反的次序来扫描有效性信息。应理解,在图5A中所展示“之”字形扫描仅作为实例来提供,且可使用其它对角线定向的扫描来扫描变换系数。举例来说,在另一实例中,对角线定向的扫描的扫描路径可均遵循相同相对方向。即,所有扫描路径均可遵循自所述块的右上角至所述块的左下角的对角线定向的路径。在另一实例中,所有扫描路径可均遵循自所述块的左下角至所述块的右上角的对角线定向的路径。图5B为可在使用图5A的对角线扫描的经经量化变换系数的熵译码期间使用的由虚线框144A至144K指示的并行友好上下文支持邻域(统称为上下文支持邻域元素144)的实例。举例来说,在图5B中所展示的上下文支持邻域初始包含邻近当前正被熵译码的变换系数位置148的11个可能的上下文支持元素144(例如,变换系数位置148包含具有相关联的有效性信息、电平信息、正负号信息等等的变换系数)。如上文所指出,上下文支持元素144可识别用于确定恰当上下文模型的上下文。举例来说,熵译码单元(例如,例如熵译码单元56或熵解码单元70)可通过确定针对当前正被译码的变换系数的上下文来选择上下文模型。所述上下文支 持邻域可识别用于对在当前正被译码的位置148中的变换系数进行熵译码的上下文的相对位置(例如,位于所述位置中的实际值)。尽管图5B的上下文支持邻域包含11个可能的上下文支持元素144,但应理解所述上下文支持邻域可含有处于各种配置中的任何数目个元素。在一实例中,如关于图5C所描述,所述上下文支持邻域可含有邻近当前正被译码的位置的五个上下文支持元素。其它配置也是可能的。根据在本发明中所描述的技术,已将在上下文支持邻域144中的上下文支持元素144G及144K排除(表示为用“X”删去)以使得上下文支持邻域为并行友好的。即,在译码期间已将上下文支持邻域144的上下文支持元素144G及144K排除而不做考虑,上下文支持元素144G及144K沿着在图5A中定义“之”字形扫描路径定位。举例来说,如果以在图5B中所展示的上下文支持邻域144上覆图5A中所展示“之”字形扫描模式,那么已将上下文支持邻域144的上下文支持元素144G及144K排除,上下文支持元素144G及144K沿着所述对角线定向的扫描路径定位。因而,在确定针对当前变换系数位置148的上下文时将不考虑与经排除的上下文支持邻域元素(例如,位置)相关联的有效性信息。通过自所述扫描路径排除所述上下文元素,熵译码器可以并行方式计算针对沿着所述扫描路径的所有位置的有效性旗标上下文。举例来说,在完成与上下文支持元素144J、144IU44F及144C相关联的有效性旗标的译码之后,可以并行方式计算针对下一扫描路径(其包含当前变换系数位置148)的有效性旗标上下文。图5C为说明针对对角线定向的扫描路径的并行友好上下文支持邻域的实例的概念图。举例来说,图5C包含可表示在视频数据块中的变换系数位置的数个圆圈151,其中每一变换系数位置具有对应经经量化变换系数。如由穿过当前正被译码的变换系数位置154的对角线指示,在图5C中展示的扫描路径为对角线定向。此外,图5C的实例展示具有五个元素的并行友好上下文支持邻域152A至152E (统称为上下文支持邻域152)。即,上下文支持邻域152包含邻近于且位于当前变换系数位置154上方的第一位置152C、邻近于且位于第一位置152C上方的第二位置154A、邻近于且位于当前变换系数位置154左侧的第三位置152E、邻近于且位于第三位置左侧的第四位置152D,及邻近于且位于第三位置152E上方且邻近于且位于第一位置152C左侧的第五位置152B。如上文所指出,通过自所述扫描路径排除所述上下文元素,熵译码器可以并行方式计算针对沿着所述扫描路径的所有位置的有效性旗标上下文。图6A为说明用于扫描经经量化变换系数的水平扫描模式160的概念图。举例来说,图6A包含可表示在视频数据块中的变换系数位置的数个圆圈161,其中每一变换系数位置具有对应经经量化变换系数。如在图6A中所展示,大体上以水平模式来扫描所述变换系数。即,通过自顶部至底部跨越所述块的每一行自左至右来扫描图6A中所展示的二维块的变换系数来将所述变换系数序列化至一维阵列。

图6B为可在使用图6A的水平扫描的经经量化变换系数的熵译码期间使用的由虚线框164A至164L指示的并行友好上下文支持邻域的实例(统称为上下文支持邻域元素164)。举例来说,在图6B中所展示的上下文支持邻域初始包含邻近当前正被熵译码的变换系数位置168的11个可能的上下文支持元素164。如上文所指出,上下文支持元素164可识别用于确定恰当上下文模型的上下文。举例来说,熵译码单元(例如,例如熵译码单元56或熵解码单元70)可通过确定针对当前正被译码的变换系数的上下文来选择上下文模型。所述上下文支持邻域可识别用于对在当前正被译码的位置168中的变换系数进行熵译码的上下文的相对位置(例如,位于所述位置中的实际值)。如在图6B中所展示,根据在本发明中所描述的技术,已将在上下文支持邻域164中的上下文支持元素1641、164J、164K及164L排除(用“X”表示为删去)以使得上下文支持邻域为并行友好。即,举例来说,已排除上下文支持邻域164的上下文支持元素1641、164JU64K及164L,上下文支持元素1641、164J、164K及164L沿着由图6A定义的扫描路径定位。因而,在确定针对当前变换系数位置168的上下文时将不考虑与经排除的上下文支持邻域元素(例如,位置)相关联的有效性信息。如上文关于图5B所描述,通过自所述扫描路径排除所述上下文元素,可以并行方式计算沿着扫描路径的有效性旗标上下文。即,可以并行于在与变换系数位置168相同的扫描路径上的所有其它有效性旗标上下文的方式来计算针对变换系数位置168的有效性旗标上下文。图7A为说明用于扫描经经量化变换系数的垂直扫描模式180的概念图。举例来说,图7A包含可表示在视频数据块中的变换系数位置的数个圆圈181,其中每一变换系数位置具有对应经经量化变换系数。如在图7A中所展示,大体上以垂直模式来扫描所述变换系数。即,通过跨越块自左至右且在每一行中自顶部至底部来扫描在图7A中所展示的二维块的变换系数来将所述变换系数序列化至一维阵列。图7B为可在使用图7A的垂直扫描的经经量化变换系数的熵译码期间使用的由虚线框184A至184L指示的并行友好上下文支持邻域的实例(统称为上下文支持元素184)。举例来说,在图7B中所展示的上下文支持邻域初始包含邻近当前正被熵译码的变换系数位置192的11个可能的上下文支持元素184。如上文所指出,上下文支持元素184可识别用于确定恰当上下文模型的上下文。举例来说,熵译码单元(例如,例如熵译码单元56或熵解码单元70)可通过确定针对当前正被译码的变换系数的上下文来选择上下文模型。所述上下文支持邻域可识别用于对在当前正被译码的位置184中的变换系数进行熵译码的上下文的相对位置(例如,位于所述位置中的实际值)。如在图6B中所展示,根据在本发明中所描述的技术,已将在上下文支持邻域184中的上下文支持元素184B、184E、184J及184L排除(表示为用“X”删去)以使得所述上下文支持邻域为并行友好的。即,举例来说,已排除上下文支持邻域184的上下文支持元素184B、184E、184J及184L,上下文支持元素184B、184E、184J及184L沿着由图7A定义的扫描路径定位。因而,在确定针对当前变换系数位置188的上下文时将不考虑与经排除的上下文支持邻域元素(例如,位置)相关联的有效性信息。如上文关于图5B及6B所描述,通过自所述扫描路径排除所述上下文元素,可以并行方式计算沿着扫描路径的有效性旗标上下文。即,可以并行于定位于与变换系数位置188相同的扫描路径上的所有其它有效性旗标上下文的方式来计算与变换系数位置188相关联的有效性旗标上下文。图7C为说明针对垂直定向扫描路径(例如在图7A中所展示的扫描路径)的并行友好上下文支持邻域的实例的概念图。举例来说,图7C包含可表示在视频数据块中的变换系数位置的数个圆圈191,其中每一变换系数位置具有对应经经量化变换系数。如由穿过当前正被译码的变换系数位置194的垂直线所指示,在图7C中展示的扫描路径为垂直定向的。 图7C的实例展示具有四个元素的并行友好上下文支持邻域192A至192D(统称为上下文支持邻域192)。如在图7C中所展示,根据本发明的一些方面,对于待考虑的上下文支持邻域,未必需要排除特定扫描路径的所有上下文支持邻域元素。即,举例来说,尽管在图7C中展示的上下文支持邻域包含在所述扫描路径中的上下文支持元素192A,但已自所述上下文支持邻域排除定位于邻近当前正被译码的变换系数194处(且处于变换系数194的扫描路径中)的变换系数195。在此实例中,紧接在当前正被译码的变换系数194之前来扫描变换系数195。因此,在图7C的实例中,熵译码器可以并行方式计算针对两个位置的有效性旗标上下文。即,所述熵译码器可以并行方式计算针对当前正被译码的变换系数194及定位于邻近当前正被译码的变换系数194处(处于所述扫描路径中)的变换系数195的有效性旗标上下文。在其它实例中,可自上下文支持邻域排除定位于所述扫描路径中的另一数目个(例如,三个、四个等等)上下文支持元素以产生并行友好扫描。以此方式,本发明的技术包含自扫描路径排除先于当前位置扫描的一个或一个以上上下文支持邻域元素。尽管关于图5A至7B所描述的某些方面指代自上下文支持邻域“排除”元素,但应理解,可在视频译码器的初始配置期间或在译码期间实时地执行上下文支持邻域元素的排除。即,“排除”大体上指代在译码期间不考虑上下文支持邻域中的元素。在一个实例中,视频译码器可经编程(例如,在设计环境中)以实施“排除”或不包含沿着预定扫描路径的上下文支持元素的上下文支持邻域。在另一实例中,视频译码器可在译码期间“在运作中”变更上下文支持邻域以“排除”或不包含沿着扫描路径的上下文支持元素。在此实例中,视频编码器及视频解码器两者可经配置以实施相同上下文支持变更过程。图8为说明确定针对特定扫描模式的并行友好上下文支持邻域的实例方法200的流程图。尽管出于解释的目的而大体上描述为由视频编码器20 (图2)的组件来执行,但应理解,其它视频编码单元也可经配置以执行图8的方法,其它视频编码单元例如处理器、处理单元、例如编码器/解码器(CODEC)等基于硬件的译码单元等等。视频编码器20初始地识别可用以将经经量化变换系数自二维块序列化至一维阵列的扫描模式(或扫描方向)(204)。举例来说,视频编码器20可将所述扫描模式识别为对角线扫描,例如在图5A中所展示“之”字形扫描、在图6A中所展示的水平扫描或在图7A中所展示的垂直扫描。在识别所述扫描之后,视频编码器20可识别用以对所述经经量化变换系数进行熵译码的上下文支持邻域的上下文支持元素(206)。大体来说,所述上下文支持邻域识别用于对特定符号或旗标进行熵译码的上下文。在一个实例中,所述上下文支持邻域可识别定义所述上下文(例如参看图5C中所展示的上下文支持邻域)的五个邻近位置(尽管可使用任何数目个邻近元素)。视频编码器20接着确定所述上下文支持邻域的任何元素是否包含于所述所识别的扫描路径中(208)。如果所述上下文支持邻域的上下文元素包含于所述扫描路径中,那么视频编码器20在扫描所述变换系数(212)之前自所述上下文支持邻域排除此类上下文元素(210)。如果所述上下文支持邻域的上下文元素不包含于所述扫描路径中(例如,步骤208 “否”路径),那么视频编码器20可直接进行至扫描所述变换系数(212)。根据本发明的方面,视频编码器2 0可接着使用在方法200中定义的上下文支持邻域来以并行方式计算沿着扫描路径的有效性旗标上下文。举例来说,通过自上下文支持邻域排除沿着所述扫描路径定位的上下文支持元素,视频编码器20建立并行友好上下文支持邻域。因此,如关于图5B、图6B及图7B描述,视频编码器可以并行方式计算沿着给定扫描路径的有效性旗标上下文。还应理解,关于图8展示及描述的步骤仅作为一个实例来提供。举例来说,可在设计环境中产生由方法200产生的上下文邻域且将所述上下文邻域存储于视频编码器或视频解码器中。因此,可不在视频译码期间“在运作中”执行方法200的步骤。此外,未必需要以在图8中所展示的次序来执行图8的方法200的步骤,且可执行更少、额外或替代步骤。图9为说明产生并行友好扫描次序的实例方法的流程图。尽管出于解释的目的而大体上描述为由视频编码器20(图2)的组件来执行,但应理解,其它视频编码单元也可经配置以执行图9的方法,其它视频编码单元例如处理器、处理单元、例如编码器/解码器(CODEC)等基于硬件的译码单元等等。大体来说,方法230的方面涉及产生用于以并行方式计算多个有效性旗标上下文的扫描次序。根据一些实例,方法230可用以开发允许实现有效性信息(例如,有效性旗标)的有效的并行上下文自适应性二进制算术译码(CABAC)的扫描次序。在图9中所展示的实例中,视频编码器20基于预定义上下文支持邻域、用于影响扫描次序的定向的主要优先级量度、用于进一步影响所述扫描次序的定向的次要优先级量度及并行线程的预定义数目(例如,待同时计算的有效性旗标上下文的所需数目)来产生扫描次序。视频编码器20通过确定上下文支持邻域来开始(232)。所述上下文支持邻域可识别相对于当前正被译码的有效性旗标的上下文元素的相对位置。在一些实例中,所述上下文支持邻域可为预定义的。即,所述上下文支持邻域可为在视频编码器20中的固定参数。在一实例中,根据在图5C中所展示的实例,针对对角线定向的扫描的上下文支持邻域可为固定的。在确定所述上下文支持邻域之后,视频编码器20可确定主要优先级量度(234)。如关于图1OA至图13B更详细描述,所述主要优先级量度可经设计以影响所产生的扫描次序的定向。举例来说,所述主要优先级量度可包含在所述扫描次序产生过程期间应用的函数,所述函数影响所产生的扫描次序的定向。即,在实例中,所述主要优先级量度可为相对于沿着变换系数的一列扫描有效性信息更偏向沿着变换系数的一行扫描有效性信息的函数。接下来,视频编码器20可确定次要优先级量度(236)。与所述主要优先级量度相似,所述次要优先级量度可包含也在所述扫描次序产生过程期间应用的另一函数,所述函数可进一步影响所产生的扫描的定向。在一些实例中,可将所述次要优先级量度作为平权决断器来应用。即,如果所述主要优先级量度指示两个有效性旗标具有相等优先级(例如,根据所述主要优先级量度),那么可应用所述次要优先级量度来解决此类平权项。视频编码器20可确定所需的并行线程的数目(238)。在一些实例中,输入至所述扫描次序产生过程的并行线程的数目可用以影响所产生的扫描次序可支持的并行处理量。举例来说,所输入的并行线程的数目可为预定义常数(例如,二、三、四等等),所述预定义常数影响所产生的扫描可支持的并行处理量。即,输入的并行线程的数目“二”可产生允许以并行方式计算两个有效性旗标上下文的扫描次序。相似地,输入的并行线程的数目“三”可产生允许以并行方式计算三个有效性旗标上下文的扫描次序,等等。视频编码器20接着基于在步骤232至238中所阐述的变量来产生扫描次序(240)。根据本发明的一些方面,变化用以开发所述并行友好扫描次序的元素中的一者或一者以上(例如,上下文支持邻域、主要优先级量度、次要优先级量度及并行线程的所需数目)可改变所得扫描次序的定向。举例来说,变更所述主要优先级量度和/或次要优先级量度可改变所得扫描次序的定向。即,在给定特定上下文支持邻域的情况下,变化所述主要优先级量度和/或次要优先级量度可产生水平、垂直或对角线定向的扫描。尽管描述为由视频编码器20来实行,但应理解,可由各种其它装置来实行方法230。即,举例来说,可通过视频解码器(例如视频解码器30)来实行方法230。在另一实例中,可由开发者在设计环境中实行方法230。即,开发者可变化在步骤232至238中阐述的变量来产生具有不同定向的并行友好扫描。所述开发者可接着将所述所开发的扫描存储于视频编码器20和/或视频解码器30中。此外,未必需要按在图9中所展示的次序来执行图9的方法的步骤,且可执行更少、额外或替代步骤。图1OA及IOB为说明产生并行友好扫描次序的实例方法260的流程图。在一些实例中,方法260可使用在图9中所 阐述的变量来产生并行友好扫描次序。尽管出于解释的目的而大体上描述为由视频编码器20(图2)的组件来执行,但应理解,其它视频编码单元也可经配置以执行图1OA及图1OB的方法260,其它视频编码单元例如处理器、处理单元、例如编码器/解码器(CODEC)等基于硬件的译码单元等等。大体来说,所述方法可用以产生针对具有经经量化变换系数的特定视频数据块的并行友好扫描次序。“位置”可大体上指代在所述块(其涉及残余视频数据)中的变换系数位置。视频编码器20最初将所述块的所有位置标记为未处理(262),以及将所有位置标记为不可用(264)。这些指定用以追踪每一位置的状态同时产生所述并行友好扫描次序。接下来,视频编码器将变量step_index及processed_coeff初始化以供在所述并行友好扫描产生过程期间使用(266)。通常将这些变量初始化至零,且这些变量在扫描产生期间递增。接下来,视频编码器20产生未处理位置的列表(268),在所述位置处可确定上下文支持邻域。举例来说,视频编码器20可识别在所述块中上下文支持邻域的值为可用(例如,先前经译码)的任何位置。最初,最左上位置可为可确定上下文支持邻域的仅有位置。可将在当前块外部的值考虑为无效。然而,随着块得到处理且值得到确定,可将额外位置添加至所述列表。视频编码器20识别在所述列表中的位置的数目,且将num_candidates变量设置为在所述列表中的位置的数目(270)。视频编码器20接着根据所述主要优先级量度以升序来排序候选位置列表。举例来说,根据本发明的一些方面,可给所述块的每一位置指派基于其在所述块中的相对位置的索引值。即,在一实例中,可给所述块的每一位置指派行索引(i)及列索引(j)。因此,可给最左上位置指派索引值(0,0),同时可给直接在(0,0)右侧的位置指派索引值(0,1)。直接位于位置(0,0)下方的位置可为(1,0),等等。根据本发明的方面,所述主要优先级量度可为将所述索引值作为输入变量来利用的函数。举例来说,如 关于图1lA所描述,主要优先级量度可为(i) + (j),由此将针对特定位置的行及列索引值组合。在另一实例中,如关于图12A所描述,主要优先级量度可简单地为
(i),或如关于图13A所描述,主要优先级量度可简单地为(j)。应理解,仅将这些主要优先级量度作为实例来提供,且可使用使用其它输入变量的其它主要优先级量度。所述主要优先级量度可用以影响所得的并行友好扫描次序的定向。举例来说,主要优先级量度(i)可导致在块的行中的位置被排序至所述候选位置列表的顶部。即,可将具有低行索引的候选位置排序成高于具有较高行索引的候选位置。如下文更详细描述,在所述列表的顶部的位置可导致在所述候选位置列表上较低的位置之前扫描在所述列表的顶部的位置。在一些实例中,在所述候选位置列表中的某些位置可为“平权”。即,在应用所述主要优先级量度之后,在所述候选位置列表中的某些位置可具有相同值。在一实例中,
(i)+ (j)的主要优先级量度可产生具有相同索引值的两个位置。可打乱此类平权项并根据所述次要优先级量度来排序(274)。应选择所述次要优先级量度以使得第一优先级量度及第二优先级量度不会均导致平权项。视频编码器20接着确定在所述列表中的系数的数目(例如,num_candidates)是否大于并行线程的所需数目(例如,num_parallel) (276)。根据一些方面,可由产生所述并行友好扫描的开发者来选择并行线程的数目(例如,num_parallel)。举例来说,开发者可根据需要以并行方式计算的有效性旗标上下文的数目来设置并行线程的数目(例如,num_parallel)。在一些状况中,由最终使用所产生的并行友好扫描次序的译码装置所使用的并行线程的数目可由系统约束。即,一些视频译码器可能能够比其它译码器以并行方式计算更多有效性旗标上下文。如果在所述候选位置列表中可用的候选位置多于并行线程的数目(例如,num_candidates大于num_parallel ;步骤276“是”分支),那么视频编码器20可作如下处理:将识别在所述扫描产生过程的此次反复中处理的候选位置的数目的步骤变量(例如,step_num_COeffiCient)设置为等于所需的并行线程的数目(278)。即,所需的并行线程的数目可用以识别将给来自所述候选位置列表的多少候选位置指派扫描次序。在一实例中,如果可将并行线程的所需数目设置为二。那么相应地,视频编码器20可将扫描次序指派给来自所述候选位置列表的候选位置中的两个候选位置。即,视频编码器将扫描次序指派给所述步骤数目(例如,step_num_coeff)。如果在所述列表中的候选位置的数目(例如,num_candidates)小于所需的并行线程的数目(例如,num_parallel)(例如,步骤276 “否”分支),那么视频编码器20仅将扫描次序指派给在所述列表中包含的候选位置。即,视频编码器20可将步骤数目(例如,step_num_coefT)设置为在所述候选位置列表中的候选位置的数目(例如,num_candidates) (282)。在一实例中,如果需要三个并行线程但仅两个候选位置包含于所述候选位置列表中(例如,仅两个位置具有已知上下文),那么视频编码器20可仅将扫描次序指派给在所述列表中的候选位置的数目(即,二)。因此,视频编码器20将扫描次序指派至所述步骤数目(例如,step_num_coeff) (280)。继续参看图10B,视频编码器20接着将被指派扫描次序(例如,在步骤280中)的位置标记为经处理(284)。举例来说,视频编码器20将已被指派扫描次序的位置标记为经处理,以使得在所述过程的下一反复中将所述位置排除而不做考虑。视频编码器20还使所述步骤索引(例如,如在步骤266处初始化的step_index)递增一,且使经处理系数的数目(例如,如在步骤266处初始化的processed_coeff)增加在步骤280处被指派扫描次序的位置的数目(例如,step_num_co eff) (288)。如果在所述块中仍存在尚未被指派扫描次序的位置,那么视频编码器20可重复所述过程,直至在所述块中的所有位置均已被指派扫描次序为止。举例来说,视频编码器20确定经处理位置的总数目是否小于在所述块中的位置的总数目(290)。如果存在更多待处理的位置(例如,步骤290“是”分支),那么视频编码器20可返回至图1OA的步骤268 (在图1OA及IOB中由“A”标记的转变)。如果所有所述位置均已得到处理(例如,步骤290 “否”分支),那么所述过程结束。尽管描述为由视频编码器20来实行,但应理解,在图1OA及IOB中所展示的方法260可由各种其它装置来实行。即,举例来说,可由视频解码器(例如视频解码器30)来实行方法260。在另一实例中,可由开发者在设计环境中实行方法260。即,开发者可使用在图1OA及IOB中所展示的方法来变化在步骤232至238中阐述的变量来产生具有不同定向的并行友好扫描。开发者可接着将所述所开发的扫描存储于视频编码器20和/或视频解码器30中。此外,未必需要按在图9中所展示的次序来执行图9的方法的步骤,且可执行更少、额外或替代步骤。图11A、12A及13A为说明针对变换系数块的实例上下文支持邻域(分别由虚线框310、320及330来表示)的概念图。根据一些实例,这些上下文支持邻域可用以根据在图1OA及IOB中所展示的方法来开发并行友好扫描次序。举例来说,在图11A、12A及13A中所展示的上下文支持邻域,以及主要优先级量度、次要优先级量度及并行线程的所需数目可用以产生并行友好扫描。图11B、12B及13B分别为使用在图1OA及IOB中所展示的方法产生的实例扫描次序314、324及334。举例来说,图1lB为已使用在图1lA中所展示的上下文支持邻域、主要优先级量度(i) + (j)、次要优先级量度(j)及并行线程的所需数目(例如,num_parallel)“二”产生的实例扫描次序。图12B为已使用在图12A中所展示的上下文支持邻域、主要优先级量度(i)、次要优先级量度(i) + (j)及并行线程的所需数目(例如,num_parallel) “三”产生的实例扫描次序。图13B为已使用在图13A中所展示的上下文支持邻域、主要优先级量度(j)、次要优先级量度(i) + (j)及并行线程的所需数目(例如,num_parallel) “三”产生的实例扫描次序。大体来说,图1lA至13B说明变更上下文支持邻域、主要优先级量度、次要优先级量度及所需的并行线程的数目可如何影响所得扫描的排列。所述数字指示变换系数在一维扫描内的位置。较低数字指示在所述扫描中较早出现的变换系数。举例来说,在图1lB中所展示的扫描次序具有相对中性或对角的定向。即,大体上自块的左上角至块的右下角来扫描所述位置。或者,在图12B中展示的扫描次序具有相对强的水平定向。即,大体上先于沿着底部行的位置来扫描靠近所述块的顶部行的位置。在另一实例中,在图13B中展示的扫描次序具有相对强的垂直定向。即,大体上先于在靠右侧列中的位置来扫描靠近所述块的左侧列的位置。根据本发明的一些方面,可由开发者在设计环境中产生并行友好扫描次序,例如在图1lA至13B中所展示的彼等。即,开发者可先于将所述并行友好扫描次序存储于译码装置(例如视频编码器20或视频编码器30)中而产生所述扫描次序。视频译码器可接着具有在译码期间选择具有特定定向的扫描的能力。举例来说,视频译码器可基于译码量度(例如预测模式或在译码期间所使用的变换)来选择具有特定定向的并行友好扫描。

举例来说,考虑视频编码器20使用垂直帧内预测模式来预测CU。在预测、变换及量化之后,与在所述CU中含有的TU相关联的非零经经量化变换系数可倾向于沿着水平方向存在(例如,沿着所述二维矩阵的相对顶部)。因此,在水平方向中扫描变换系数使得在二维矩阵中的非零系数可进一步朝向所得一维向量的开始端聚拢可为有益的。在此实例中,视频编码器20可选择在图12B中所展示的扫描次序。图1lA至13B仅作为实例来提供。应理解,可使用各种其它上下文支持邻域、优先级量度及并行线程的所需数目来产生其它并行友好扫描次序。在一个或一个以上实例中,可将所描述的功能实施于硬件、软件、固件或其任何组合中。如果实施于软件中,那么可将所述功能作为一个或一个以上指令或代码存储于计算机可读媒体上或经由计算机可读媒体来传输且由基于硬件的处理单元来执行所述功能。计算机可读媒体可包含计算机可读存储媒体(其对应于例如数据存储媒体等有形媒体)或通信媒体,通信媒体包含(例如)根据通信协议促进计算机程序自一处传送至另一处的任何媒体。以此方式,计算机可读媒体大体上可对应于(I)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可为可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中所描述的技术的指令、代码和/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。作为实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置,或其它磁性存储装置、闪存存储器,或可用以存储呈指令或数据结构的形式且可由计算机存取的所需程序代码的任何其它媒体。且,可将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或无线技术(例如,红外线、无线电及微波)而自网站、服务器或其它远端源传输指令,那么同轴电缆、光缆、双绞线、DSL或无线技术(例如,红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体不包含连接、载波、信号或其它暂时性媒体,而是代替地针对非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字影音光盘(DVD)、软盘及蓝光光盘,其中磁盘通常以磁性方式再现数据,而光盘通过激光以光学方式再现数据。以上各物的组合也应包含于计算机可读媒体的范围内。可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、场可编程逻辑阵列(FPGA)或其它等效整合或离散逻辑电路等一个或一个以上处理器来执行指令。因此,术语“处理器”在本文中使用时可指代适宜于实施本文中所描述的技术的前述结构中的任一者或任何其它结构。另外,在一些方面中,可将本文中所描述的功能性提供于经配置以用于编码及解码的专用硬件和/或软件模块内,或并入于组合式编码解码器中。并且,所述技术可完全实施于一个或一个以上电路或逻辑元件中。本发明的技术可实施于广泛各种装置或设备中,所述装置或设备包含无线手持机、集成电路(IC)或 IC集合(例如,芯片集)。在本发明中描述各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但未必要求由不同硬件单元来实现。而是,如上文所描述,可将各种单元组合于编码解码器硬件单元中,或通过互操作性硬件单元(包含如上文所描述的一个或一个以上处理器)的集合且结合适宜软件和/或固件来提供所述单元。已描述各种实例。这些及其它实例属于以下权利要求书的范围内。
权利要求
1.一种用于对视频数据进行译码的方法,其包括: 识别用于扫描与经量化变换系数相关联的有效性信息的扫描路径; 确定用于对与所述经量化变换系数相关联的所述有效性信息进行熵译码的上下文支持邻域,其中所述上下文支持邻域排除位于所述扫描路径中的一个或一个以上上下文支持元素;以及 使用经修改的上下文支持邻域来对所述有效性信息进行译码。
2.根据权利要求1所述的方法,其中所述经量化变换系数为第一经量化变换系数,且所述方法进一步包括以并行于用于对与位于所述扫描路径中的第二经量化变换系数相关联的有效性旗标进行译码的上下文的方式计算用于对与所述第一经量化变换系数相关联的有效性旗标进行译码的上下文。
3.根据权利要求1所述的方法,其中所述扫描路径相对于包含所述变换系数的变换系数块对角线定向,且排除上下文支持元素包括排除定位于所述对角线定向的扫描路径中的上下文支持元素。
4.根据权利要求3所述的方法,其进一步包括使用上下文支持邻域来对与所述变换系数相关联的所述有效性信息进行译码,所述上下文支持邻域包括邻近于且位于所述变换系数上方的第一位置、邻近于且位于所述第一位置上方的第二位置、邻近于且位于所述变换系数左侧的第三位置、邻近于且位于所述第三位置左侧的第四位置,及邻近于且位于所述第三位置上方且邻近于且位于所述第一位置左侧的第五位置。
5.根据权利要求1所述的方法,其中所述扫描路径相对于包含所述变换系数的变换系数块水平地定向,且排除上下文支持元素包括排除来自所述水平定向扫描路径的上下文支持元素。
6.根据权利要求1所述的方法,其中所述扫描路径相对于包含所述变换系数的变换系数块垂直地定向,且排除上下文支持元素包括排除来自所述垂直定向扫描路径的上下文支持元素。
7.根据权利要求1所述的方法,其中对所述有效性信息进行译码包括对所述有效性信息进行编码。
8.根据权利要求1所述的方法,其中对所述有效性信息进行译码包括对所述有效性信息进行解码。
9.根据权利要求1所述的方法,其中所述上下文支持邻域排除位于所述扫描路径中的所有上下文支持元素。
10.根据权利要求1所述的方法,其中所述上下文支持邻域排除位于所述扫描路径中且定位在邻近于所述变换系数处的上下文支持元素。
11.一种用于对视频数据进行译码的设备,其包括一个或一个以上处理器,所述一个或一个以上处理器经配置以: 识别用于扫描与经量化变换系数相关联的有效性信息的扫描路径; 确定用于对与所述经量化变换系数相关联的所述有效性信息进行熵译码的上下文支持邻域,其中所述上下文支持邻域排除位于所述扫描路径中的一个或一个以上上下文支持元素;以及 使用经修改的上下 文支持邻域来对所述有效性信息进行译码。
12.根据权利要求11所述的设备,其中所述经量化变换系数为第一经量化变换系数,且其中所述一个或一个以上处理器进一步经配置而以并行于用于对与位于所述扫描路径中的第二经量化变换系数相关联的有效性旗标进行译码的上下文的方式计算用于对与所述第一经量化变换系数相关联的有效性旗标进行译码的上下文。
13.根据权利要求11所述的设备,其中所述扫描路径相对于包含所述变换系数的变换系数块对角线定向,且排除上下文支持元素包括排除定位于所述对角线定向的扫描路径中的上下文支持元素。
14.根据权利要求13所述的设备,其中所述一个或一个以上处理器进一步经配置以使用上下文支持邻域来对与所述变换系数相关联的所述有效性信息进行译码,所述上下文支持邻域包括邻近于且位于所述变换系数上方的第一位置、邻近于且位于所述第一位置上方的第二位置、邻近于且位于所述变换系数左侧的第三位置、邻近于且位于所述第三位置左侧的第四位置,及邻近于且位于所述第三位置上方且邻近于且位于所述第一位置左侧的第五位置。
15.根据权利要求11所述的设备,其中所述扫描路径相对于包含所述变换系数的变换系数块水平地定向,且排除上下文支持元素包括排除来自所述水平定向扫描路径的上下文支持元素。
16.根据权利要求11所述的设备,其中所述扫描路径相对于包含所述变换系数的变换系数块垂直地定向,且排除上下文支持元素包括排除来自所述垂直定向扫描路径的上下文支持元素。
17.根据权利要求11所述的设备,其中所述上下文支持邻域排除位于所述扫描路径中的所有上下文支持元素。
18.根据权利要求11所述的设备,其中所述上下文支持邻域排除位于所述扫描路径中且定位在邻近于所述变换系数处的上下文支持元素。·
19.根据权利要求11所述的设备,其中所述设备包括视频解码器。
20.根据权利要求11所述的设备,其中所述设备包括视频编码器。
21.根据权利要求11所述的设备,其中所述设备包括移动装置。
22.一种用于对视频数据进行译码的设备,其包括: 用于识别用于扫描与经量化变换系数相关联的有效性信息的扫描路径的装置; 用于确定用于对与所述经量化变换系数相关联的所述有效性信息进行熵译码的上下文支持邻域的装置,其中所述上下文支持邻域排除位于所述扫描路径中的一个或一个以上上下文支持元素;以及 用于使用经修改的上下文支持邻域来对所述有效性信息进行译码的装置。
23.根据权利要求22所述的设备,其中所述经量化变换系数为第一经量化变换系数,且所述设备进一步包括用于以并行于用于对与位于所述扫描路径中的第二经量化变换系数相关联的有效性旗标进行译码的上下文的方式计算用于对与所述第一经量化变换系数相关联的有效性旗标进行译码的上下文的装置。
24.根据权利要求22所述的设备,其中所述扫描路径相对于包含所述变换系数的变换系数块对角线定向,且排除上下文支持元素包括排除定位于所述对角线定向的扫描路径中的上下文支持元素。
25.根据权利要求24所述的设备,其进一步包括用于使用上下文支持邻域来对与所述变换系数相关联的所述有效性信息进行译码的装置,所述上下文支持邻域包括邻近于且位于所述变换系数上方的第一位置、邻近于且位于所述第一位置上方的第二位置、邻近于且位于所述变换系数左侧的第三位置、邻近于且位于所述第三位置左侧的第四位置,及邻近于且位于所述第三位置上方且邻近于且位于所述第一位置左侧的第五位置。
26.根据权利要求22所述的设备,其中所述扫描路径相对于包含所述变换系数的变换系数块水平地定向,且排除上下文支持元素包括排除来自所述水平定向扫描路径的上下文支持元素。
27.根据权利要求22所述的设备,其中所述扫描路径相对于包含所述变换系数的变换系数块垂直地定向,且排除上下文支持元素包括排除来自所述垂直定向扫描路径的上下文支持元素。
28.根据权利要求22所述的设备,其中所述上下文支持邻域排除位于所述扫描路径中的所有上下文支持元素。
29.根据权利要求22所述的设备,其中所述上下文支持邻域排除位于所述扫描路径中且定位在邻近于所述变换系数处的上下文支持元素。
30.一种计算机程序产品,其包括计算机可读媒体,所述计算机可读媒体具有存储于其上的指令,所述指令在执行时使一个或一个以上处理器: 识别用于扫描与经量化变换系数相关联的有效性信息的扫描路径; 确定用于对与所述经量化变换系数相关联的所述有效性信息进行熵译码的上下文支持邻域,其中所述上下文支持邻域排除位于所述扫描路径中的一个或一个以上上下文支持元素;以及 使用经修改的上下文支持邻 域来对所述有效性信息进行译码。
31.根据权利要求30所述的计算机程序产品,其中所述经量化变换系数为第一经量化变换系数,且其中所述指令进一步使一个或一个以上处理器以并行于用于对与位于所述扫描路径中的第二经量化变换系数相关联的有效性旗标进行译码的上下文的方式计算用于对与所述第一经量化变换系数相关联的有效性旗标进行译码的上下文。
32.根据权利要求30所述的计算机程序产品,其中所述扫描路径相对于包含所述变换系数的变换系数块对角线定向,且排除上下文支持元素包括排除定位于所述对角线定向的扫描路径中的上下文支持元素。
33.根据权利要求32所述的计算机程序产品,其中所述指令进一步使一个或一个以上处理器使用上下文支持邻域来对与所述变换系数相关联的所述有效性信息进行译码,所述上下文支持邻域包括邻近于且位于所述变换系数上方的第一位置、邻近于且位于所述第一位置上方的第二位置、邻近于且位于所述变换系数左侧的第三位置、邻近于且位于所述第三位置左侧的第四位置,及邻近于且位于所述第三位置上方且邻近于且位于所述第一位置左侧的第五位置。
34.根据权利要求30所述的计算机程序产品,其中所述扫描路径相对于包含所述变换系数的变换系数块水平地定向,且排除上下文支持元素包括排除来自所述水平定向扫描路径的上下文支持元素。
35.根据权利要求30所述的计算机程序产品,其中所述扫描路径相对于包含所述变换系数的变换系数块垂直地定向,且排除上下文支持元素包括排除来自所述垂直定向扫描路径的上下文支持元素。
36.根据权利要求30所述的计算机程序产品,其中所述上下文支持邻域排除位于所述扫描路径中的所有上下文支持元素。
37.根据权利要求30所述的计算机程序产品,其中所述上下文支持邻域排除位于所述扫描路径中且定位在邻近于所述变换系数处的上下文支持元素。
38.一种用于对视频数据进行译码的方法,其包括: 确定用于对与变换系数块相关联的有效性信息进行译码的上下文邻域; 确定优先级量度,所述优先级量度经配置以影响用于扫描所述有效性信息的扫描次序的定向; 确定用于扫描所述有效性信息的并行线程的数目;以及 基于所述上下文邻域、所述优先级量度及并行线程的所述数目来产生用于扫描所述有效性信息的所述扫描次序。
39.根据权利要求38所述的方法,其中所述优先级量度为主要优先级量度,且所述方法进一步包括:确定次要优先级量度,所述次要优先级量度经配置以影响用于扫描所述有效性信息的所述扫描次序的所述定向;以及基于所述上下文邻域、所述主要优先级量度、所述次要优先级量度及并行 线程的所述数目来产生用于扫描所述有效性信息的所述扫描次序。
40.根据权利要求38所述的方法,其中所述优先级量度经配置以垂直地影响所述扫描次序以使得所述扫描次序垂直地定向。
41.根据权利要求38所述的方法,其中所述优先级量度经配置以对角地影响所述扫描次序以使得所述扫描次序对角线定向。
42.根据权利要求38所述的方法,其中所述优先级量度经配置以水平地影响所述扫描次序以使得所述扫描次序水平地定向。
43.根据权利要求38所述的方法,其中对视频数据进行译码包括对视频数据进行编码。
44.根据权利要求38所述的方法,其中对视频数据进行译码包括对视频数据进行解码。
45.一种用于对视频数据进行译码的设备,其包括一个或一个以上处理器,所述一个或一个以上处理器经配置以: 确定用于对与变换系数块相关联的有效性信息进行译码的上下文邻域; 确定优先级量度,所述优先级量度经配置以影响用于扫描所述有效性信息的扫描次序的定向; 确定用于扫描所述有效性信息的并行线程的数目;以及 基于所述上下文邻域、所述优先级量度及并行线程的所述数目来产生用于扫描所述有效性信息的所述扫描次序。
46.根据权利要求45所述的设备,其中所述优先级量度为主要优先级量度,且其中所述一个或一个以上处理器进一步经配置以:确定次要优先级量度,所述次要优先级量度经配置以影响用于扫描所述有效性信息的所述扫描次序的所述定向;以及基于所述上下文邻域、所述主要优先级量度、所述次要优先级量度及并行线程的所述数目来产生用于扫描所述有效性信息的所述扫描次序。
47.根据权利要求45所述的设备,其中所述优先级量度经配置以垂直地影响所述扫描次序以使得所述扫描次序垂直地定向。
48.根据权利要求45所述的设备,其中所述优先级量度经配置以对角地影响所述扫描次序以使得所述扫描次序对角线定向。
49.根据权利要求45所述的设备,其中所述优先级量度经配置以水平地影响所述扫描次序以使得所述扫描次序水平地定向。
50.根据权利要求45所述的设备,其中所述设备包括视频编码器。
51.根据权利要求45所述的设备,其中所述设备包括视频解码器。
52.一种用于对视频数据进行译码的设备,其包括: 用于确定用于对与变换系数块相关联的有效性信息进行译码的上下文邻域的装置; 用于确定优先级量度的装置,所述优先级量度经配置以影响用于扫描所述有效性信息的扫描次序的定向; 用于确定用于扫描所述有效性信息的并行线程的数目的装置;以及 用于基于所述上下文邻域、所述优先级量度及并行线程的所述数目来产生用于扫描所述有效性信息的所述扫描次序的装置。
53.根据权利要 求52所述的设备,其中所述优先级量度为主要优先级量度,且所述设备进一步包括用于进行以下操作的装置:确定次要优先级量度,所述次要优先级量度经配置以影响用于扫描所述有效性信息的所述扫描次序的所述定向,且基于所述上下文邻域、所述主要优先级量度、所述次要优先级量度及并行线程的所述数目来产生用于扫描所述有效性信息的所述扫描次序。
54.根据权利要求52所述的设备,其中所述优先级量度经配置以垂直地影响所述扫描次序以使得所述扫描次序垂直地定向。
55.根据权利要求52所述的设备,其中所述优先级量度经配置以对角地影响所述扫描次序以使得所述扫描次序对角线定向。
56.根据权利要求52所述的设备,其中所述优先级量度经配置以水平地影响所述扫描次序以使得所述扫描次序水平地定向。
57.一种计算机程序产品,其包括计算机可读媒体,所述计算机可读媒体具有存储于其上的指令,所述指令在执行时使一个或一个以上处理器: 确定用于对与变换系数块相关联的有效性信息进行译码的上下文邻域; 确定优先级量度,所述优先级量度经配置以影响用于扫描所述有效性信息的扫描次序的定向; 确定用于扫描所述有效性信息的并行线程的数目;以及 基于所述上下文邻域、所述优先级量度及并行线程的所述数目来产生用于扫描所述有效性信息的所述扫描次序。
58.根据权利要求57所述的设备,其中所述优先级量度为主要优先级量度,且其中所述指令进一步使一个或一个以上处理器:确定次要优先级量度,所述次要优先级量度经配置以影响用于扫描所述有效性信息的所述扫描次序的所述定向,且基于所述上下文邻域、所述主要优先级量度、所述次要优先级量度及并行线程的所述数目来产生用于扫描所述有效性信息的所述扫描次序。
59.根据权利要求57所述的设备,其中所述优先级量度经配置以垂直地影响所述扫描次序以使得所述扫描次序垂直地定向。
60.根据权利要求57所述的设备,其中所述优先级量度经配置以对角地影响所述扫描次序以使得所述扫描次序对角线定向。
61.根据权利要求57所述的设备,其中所述优先级量度经配置以水平地影响所述扫描次序以使得所述扫描次 序水平地定向。
全文摘要
在一个实例中,一种用于对视频数据进行译码的方法包含识别用于扫描与经量化变换系数相关联的有效性信息的扫描路径。所述方法还包含确定用于对与所述量化变换系数相关联的所述有效性信息进行熵译码的上下文支持邻域,其中所述上下文支持邻域排除位于所述扫描路径中的一个或一个以上上下文支持元素。所述方法还包含使用经修改的上下文支持邻域来对进行所述有效性信息进行译码。
文档编号H04N7/26GK103250413SQ201180058707
公开日2013年8月14日 申请日期2011年11月14日 优先权日2010年11月16日
发明者穆哈默德·扎伊·科班, 郑云非, 霍埃尔·索莱罗哈斯, 拉詹·L·乔希, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1