在视频译码中用于非正方形块的上下文自适应熵译码的制作方法

文档序号:7990870阅读:133来源:国知局
在视频译码中用于非正方形块的上下文自适应熵译码的制作方法
【专利摘要】本发明揭示用于对具有由宽度及高度界定的非正方形的形状的视频块的系数进行译码的技术,所述技术包括:对指示根据相关联的扫描次序在所述块内的最后非零系数的位置的x坐标及y坐标中的一者或一者以上进行译码,包含:通过基于对应于所述坐标的所述宽度及所述高度中的一者确定用以对所述坐标进行译码的一个或一个以上上下文来对每一坐标进行译码,及通过基于所述上下文执行上下文自适应熵译码过程来对所述坐标进行译码。还揭示用于对识别所述块内的非零系数的位置的信息进行译码的技术,所述技术包含:基于所述宽度及所述高度中的一者或一者以上确定用以对所述信息进行译码的一个或一个以上上下文,及通过基于所述上下文执行上下文自适应熵译码过程来对所述信息进行译码。
【专利说明】在视频译码中用于非正方形块的上下文自适应熵译码
[0001]本申请案主张2011年7月I日申请的第61/503,716号美国临时申请案及2011年11月I日申请的第61/554,301号美国临时申请案的权利,所述申请案中的每一者的全部内容以引用的方式并入本文中。
【技术领域】
[0002]本发明涉及视频译码,且更确切地说,涉及对由视频译码过程产生的残余变换系数的块进行译码。
【背景技术】
[0003]数字视频能力可并入到各种各样的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、所谓的“智能电话”、视频电话会议装置、视频流式传输装置等。数字视频装置实施视频压缩技术,例如由 MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4 第 10 部分(高级视频译码(AVC))定义的标准,目前处于开发下的高效视频译码(HEVC)标准,以及所述标准的扩展部分中所描述的视频压缩技术。视频装置可通过实施这些视频压缩技术而更高效地发射、接收、编码、解码及/或存储数字视频信息。
[0004]视频压缩技术执行空间(帧内图片)预测及/或时间(帧间图片)预测以减少或移除视频序列中所固有的冗余。对于基于块的视频译码,视频切片(即,视频帧或视频帧的一部分)可分割为视频块,视频块还可称作树块、译码单元(CU)及/或译码节点。图片的经帧内译码(I)的切片中的视频块相对于同一图片中的相邻块中的参考样本使用空间预测而编码。图片的经帧间译码(P或B)的切片中的视频块可相对于同一图片中的相邻块中的参考样本使用空间预测或相对于其它参考图片中的参考样本使用时间预测。图片可称作帧,且参考图片可称作参考帧。
[0005]空间或时间预测产生用于将要译码的块的预测块。残余数据表示将要译码的原始块与预测块之间的像素差。根据指向形成预测块的参考样本的块的运动向量,及指示经译码的块与预测块之间的差的残余数据来对经帧间译码的块进行编码。根据帧内译码模式及残余数据来对经帧内译码的块进行编码。为了进一步压缩,残余数据可从像素域变换为变换域,从而产生残余变换系数,残余变换系数接着可被量化。可扫描最初布置成二维阵列的经量化的变换系数以便产生变换系数的一维向量。接着可应用熵译码以达成甚至更多的压缩。

【发明内容】

[0006]本发明描述用于在视频译码过程期间对非正方形的视频数据块的残余变换系数进行译码的技术。本文中所描述的技术可包含以下技术中的一者或一者以上:(I)用于选择扫描次序来扫描非正方形的视频数据块的残余变换系数的技术;(2)用于确定用于对用于非正方形的视频数据块的最后有效系数位置信息进行熵译码的上下文的技术;(3)用于确定用于对用于非正方形的视频数据块的有效系数位置信息进行熵译码的上下文的技术;及(4)用于对非正方形的视频数据块的残余变换系数的值或“层级”进行译码的技术。
[0007]本发明的技术可相对于其它方法改进用于对非正方形的视频数据块的残余变换系数进行译码的效率。特定来说,所述技术可在对非正方形的块的残余变换系数及相关语法信息进行译码时改进所述系数及所述信息的压缩。另外,本发明的技术可使得能够使用相对于其它系统具有较低的复杂性的译码系统来对所述系数及相关语法信息进行译码。以此方式,当使用本发明的技术时,对于包含经译码的系数及相关语法信息的经译码的位流可存在相对位节省,且用以对系数及相关语法信息进行译码的系统的复杂性可相对降低。
[0008]在一个实例中,一种在视频译码过程期间对与视频数据块相关联的变换系数进行译码的方法,(其中所述块具有由宽度及高度界定的非正方形的形状),包含:对指示根据与所述块相关联的扫描次序在所述块内的最后非零系数的位置的X坐标及y坐标中的一者或一者以上进行译码,其中对所述X坐标及I坐标中的所述一者或一者以上中的每一者进行译码包含至少部分基于对应于坐标的块的宽度及高度中的一者,确定用以对相应的坐标进行译码的一个或一个以上上下文;及通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对相应的坐标进行译码。
[0009]在另一实例中,一种在视频译码过程期间对与视频数据块相关联的变换系数进行译码的方法(其中所述块具有由宽度及高度界定的非正方形的形状)包含:对识别在所述块内的非零系数的位置的信息进行译码,其中对所述信息进行译码包括至少部分基于所述块的所述宽度及所述高度中的一者或一者以上确定用以对所述信息进行译码的一个或一个以上上下文;及通过至少部分基于所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述信息进行译码。
[0010]本发明的技术还在以下方面进行描述:设备、包括用于执行所述技术的装置的装置及存储在执行时致使一个或一个以上处理器执行所述技术的指令的计算机可读存储媒体。
[0011]一个或一个以上实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从描述及附图和从权利要求书中显而易见。
【专利附图】

【附图说明】
[0012]图1为说明与本发明的技术一致的视频编码及解码系统的实例的框图,所述视频编码及解码系统可执行用于对非正方形的视频数据块的残余变换系数进行译码的技术。
[0013]图2为说明与本发明的技术一致的视频编码器的实例的框图,所述视频编码器可执行用于对非正方形的视频数据块的残余变换系数进行编码的技术。
[0014]图3为说明与本发明的技术一致的视频解码器的实例的框图,所述视频解码器可执行用于对非正方形的视频数据块的经编码的残余变换系数进行解码的技术。
[0015]图4A到图4C为说明使用对角线、水平及垂直扫描次序扫描的正方形视频数据块的实例的概念图。
[0016]图5A到5C为说明与本发明的技术一致的非正方形的视频数据块以及对应有效系数位置信息及最后有效系数位置信息的实例的概念图。[0017]图6A到图6F为说明与本发明的技术一致的使用曲折、水平、垂直及对角线扫描次序扫描的非正方形的视频数据块的实例的概念图。
[0018]图7A到图7B为说明与本发明的技术一致的已转置的非正方形的视频数据块的实例的概念图。
[0019]图8A到图SB为说明与本发明的技术一致的正方形视频数据块及非正方形的视频数据块的实例的概念图,其中使用共同的一个或一个以上上下文来对有效系数位置信息进行译码。
[0020]图9A到图9B为说明与本发明的技术一致的非正方形的视频数据块的实例的概念图,其中已根据对角线扫描次序来对残余变换系数进行分组。
[0021]图1OA到图1OB为说明与本发明的技术一致的对非正方形的视频数据块的残余变换系数进行译码的方法的实例的流程图。
【具体实施方式】
[0022]本发明描述用于在视频译码过程期间对非正方形的视频数据块的残余变换系数进行译码的技术。本文中所描述的技术可包含以下技术中的一者或一者以上:(I)用于选择扫描次序来扫描非正方形的视频数据块的残余变换系数的技术;(2)用于确定用于对用于非正方形的视频数据块的最后有效系数位置信息进行熵译码的上下文的技术;(3)用于确定用于对用于非正方形的视频数据块的有效系数位置信息进行熵译码的上下文的技术;及(4)用于对非正方形的视频数据块的残余变换系数的值或“层级”进行译码的技术。
[0023]本发明的技术可相对于其它方法改进用于对非正方形的视频数据块的残余变换系数进行译码的效率。特定来说,所述技术可在对非正方形的块的残余变换系数及相关语法信息进行译码时改进所述系数及所述信息的压缩。另外,本发明的技术可使得能够使用相对于其它系统具有较低的复杂性的译码系统来对所述系数及相关语法信息进行译码。以此方式,当使用本发明的技术时,对于包含经译码的系数及相关语法信息的经译码的位流可存在相对位节省,且用以对系数及相关语法信息进行译码的系统的复杂性可相对降低。
[0024]图1为说明与本发明的技术一致的视频编码及解码系统的实例的框图,所述视频编码及解码系统可执行用于对非正方形的视频数据块的残余变换系数进行译码的技术。如图1中所示,系统10包含源装置12,源装置12产生稍后待由目的地装置14解码的经编码的视频数据。源装置12及目的地装置14可包括各种各样的装置中的任一者,包括桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如,所谓的“智能”电话)、所谓的“智能”板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置等。在一些状况下,源装置12及目的地装置14可经配备以用于无线通信。
[0025]目的地装置14可经由链路16接收待解码的经编码的视频数据。链路16可包括能够将经编码的视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,链路16可包括通信媒体以使得源装置12能够实时地将经编码的视频数据直接发射到目的地装置14。经编码的视频数据可根据例如无线通信协议等通信标准来调制,且经发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一个或一个以上物理传输线。通信媒体可形成例如局域网、广域网或例如因特网等全球网络等基于包的网络的部分。通信媒体可包含可用于促进从源装置12到目的地装置14的通信的路由器、交换器、基站或任何其它设备。
[0026]或者,经编码的数据可从输出接口 22输出到存储装置24。类似地,经编码的数据可通过输入接口 26从存储装置24来存取。存储装置24可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器,或用于存储经编码的视频数据的任何其它合适的数字存储媒体。在另一实例中,存储装置24可对应于文件服务器或可保存由源装置12产生的经编码的视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置24存取所存储的视频数据。文件服务器可为能够存储经编码的视频数据且将所述经编码的视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包括网页服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置14可经由包含因特网连接的任何标准数据连接存取经编码的视频数据。这可包含适用于存取存储于文件服务器上的经编码的视频数据的无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合。经编码的视频数据从存储装置24的发射可为流式传输发射、下载发射或两者的组合。
[0027]本发明的技术不一定限于无线应用或设定。所述技术可应用于支持例如以下各者的多种多媒体应用中的任一者的视频译码:空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、对数字视频进行编码以用于存储于数据存储媒体上、对存储于数据存储媒体上的数字视频进行解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射以支持例如视频流式传输、视频播放、视频广播及/或视频电话等应用。
[0028]在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口 22。在一些状况下,输出接口 22可包含调制器/解调器(调制解调器)及/或发射器。在源装置12中,视频源18可包含源,例如视频俘获装置(例如,摄像机)、含有先前所俘获的视频的视频存档、用以从视频内容提供者接收视频的视频馈入接口,及/或用于产生计算机图形数据作为源视频的计算机图形系统,或此些源的组合。作为一个实例,如果视频源18为摄像机,那么源装置12及目的装置14可形成所谓的相机电话或视频电话。然而,本发明中描述的技术大体上可适用于视频译码,且可适用于无线及/或有线应用。
[0029]可由视频编码器20来对经俘获的、经预先俘获的或计算机产生的视频进行编码。经编码的视频数据可经由源装置12的输出接口 22直接发射到目的地装置14。经编码的视频数据还可(或替代地)存储于存储装置24上以供稍后由目的地装置14或其它装置存取以进行解码及/或播放。
[0030]目的地装置14包含输入接口 26、视频解码器30及显示装置28。在一些状况下,输入接口 26可包含接收器及/或调制解调器。目的地装置14的输入接口 26经由链路16接收经编码的视频数据。经由链路16传达或在存储装置24上提供的经编码的视频数据可包含由视频编码器20产生的多种语法元素以供视频解码器(例如,视频解码器30)在对视频数据进行解码时使用。此些语法元素可包含于发射于通信媒体上、存储于存储媒体上或存储于文件服务器中的经编码的视频数据内。
[0031]显示装置28可与目的地装置14集成或在目的地装置14外部。在一些实例中,目的地装置14可包含集成显示装置且还经配置以与外部显示装置集成。在其它实例中,目的地装置14可为显示装置。一般来说,显示装置28向用户显示经解码的视频数据,且可包括多种显示装置中的任一者,例如液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0032]视频编码器20及视频解码器30可根据视频压缩标准来操作,例如当前由ITU-T视频译码专家组(VCEG)及IS0/IEC动画专家组(MPEG)的视频译码联合协作小组(JCT-VC)开发的高效视频译码(HEVC)标准,且可遵照HEVC测试模型(HM)。或者,视频编码器20和视频解码器30可根据其它专有或工业标准(例如,ITU-T H.264标准,或者称为MPEG-4第10部分,高级视频译码(AVC))或此些标准的扩展而操作。然而,本发明的技术不限于任何特定译码标准。视频压缩标准的其它实例包含MPEG-2及ITU-T H.263。被称作“HEVC工作草案6”或“胃06”的HEVC标准的新近草案描述于Bross等人的文件JCTVC_H1003“高效视频译码(HEVC)文本规范草案6” (ITU-T SGI 6 WP3及IS0/IEC JTC1/SC29/WG11的视频译码联合协作小组(JCT-VC),第8次会议:美国,加利福尼亚,圣何塞,2012年2月)中,所述文件自 2012 年 6 月 I 日起可从http://phenix.1nt-evry.fr/jet/doc_end_user/documents/8_San% 20Jose/wgll/JCTVC-H1003-v22.zip 下载得到。
[0033]尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当的MUX-DEMUX单元或其它硬件及软件,以处理对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,那么在一些实例中,MUX-DEMUX单元可符合ITU H.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
[0034]视频编码器20及视频解码器30各自可经实施为例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合的多种合适编码器电路中的任一者。当技术是部分以软件来实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且使用一个或一个以上处理器执行硬件中的指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,其中任一者可集成为相应装置中的组合式编码器/解码器(CODEC)的部分。
[0035]HEVC标准化努力是基于视频译码装置的演进模型,其被称作HEVC测试模型(HM)。HM假设视频译码装置相对于根据(例如)ITU-T H.264/AVC的现有装置的若干额外能力。举例来说,尽管H.264提供九个帧内预测编码模式,但HM可提供多达三十三个帧内预测编码模式。
[0036]一般来说,HM的工作模型描述视频帧或图片可划分成包含亮度及色度样本两者的树块或最大译码单元(LCU)的序列。树块具有与H.264标准的宏块类似的目的。切片包含按译码次序的数个连续树块。视频帧或图片可分割成一个或一个以上切片。每一树块可根据四分树分裂为译码单元(CU)。举例来说,树块作为四分树的根节点可分裂为四个子节点,且每一子节点又可为父节点且分裂为另四个子节点。最终未经分裂的子节点作为四分树的叶节点包括译码节点,即经译码的视频块。与经译码的位流相关联的语法数据可定义树块可分裂的最大次数,且还可定义译码节点的最小大小。
[0037]CU包含译码节点及预测单元(PU)以及与译码节点相关联的变换单元(TU)。CU的大小对应于译码节点的大小,且形状必须为正方形。CU的大小范围可在8x8像素直到具有最大64x64像素或更大的树块的大小之间。每一⑶可含有一个或一个以上PU及一个或一个以上TU。举例来说,与CU相关联的语法数据可描述将CU分割成一个或一个以上PU。在CU是经跳过或直接模式编码、经帧内预测模式编码还是经帧间预测模式编码之间,分割模式可不同。可经分割而在形状上为非正方形的。举例来说,与CU相关联的语法数据还可描述根据四分树将⑶分割成一个或一个以上TU。TU的形状可为正方形或非正方形。
[0038]HEVC标准允许根据TU进行变换,对于不同⑶而言,所述变换可为不同的。TU通常是基于针对经分割LCU而定义的给定CU内的PU的大小而设定大小,但这可不总是这样。TU通常与PU大小相同或小于PU。在一些实例中,对应于⑶的残余样本可使用称作“残余四分树”(RQT)的四分树结构细分为较小单元。RQT的叶节点可被称作变换单元(TU)。与TU相关联的像素差值可经变换以产生变换系数,所述变换系数可经量化。
[0039]一般来说,包含与预测过程相关的数据。举例来说,当PU是经帧内模式编码时,PU可包含描述所述的帧内预测模式的数据。作为另一实例,当是经帧间模式编码时,PU可包含界定所述PU的运动向量的数据。定义用于的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片及/或用于运动向量的参考图片列表(例如,列表O、列表I或列表C)。
[0040]一般来说,TU是用于变换及量化过程。具有一个或一个以上PU的给定⑶还可包含一个或一个以上变换单元(TU)。在预测之后,视频编码器20可计算对应于PU的残余值。残余值包括像素差值,像素差值可使用TU经变换成变换系数、经量化及扫描,以产生串行化变换系数以进行熵译码。本发明通常使用术语“视频块”来指CU的译码节点。在一些具体状况下,本发明还可使用术语“视频块”来指树块,即LCU或CU,其包含译码节点及PU以及TU。
[0041]视频序列通常包含一系列视频帧或图片。图片组(GOP)通常包括一系列视频图片中的一者或一者以上。GOP可将描述GOP中所包含的图片的数目的语法数据包含在GOP的标头、图片中的一者或一者以上的标头中或其它地方。图片的每一切片可包含描述用于相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作,以便对视频数据进行编码。视频块可对应于CU内的译码节点。所述视频块可具有固定的或变化的大小,且可根据指定的译码标准而大小不同。
[0042]作为实例,HM支持在各种I3U大小下的预测。假定特定⑶的大小为2Nx2N,HM支持在2Nx2N或NxN的PU大小下的帧内预测,及在2Nx2N、2NxN、Nx2N或NxN的对称I3U大小下的帧间预测。HM还支持用于在2NxnU、2NxnD、nLx2N及nRx2N的PU大小下的帧间预测的非对称分割。在非对称分割中,CU的一个方向未经分割,而另一方向被分割成25 %及75 %。对应于25%分割的⑶的部分由“η”指示,接着是“上”、“下”、“左”或“右”的指示。因此,例如,“2NxnU”是指经水平地分割的2Nx2N CU,其中2Nx0.5N PU在上且2Nxl.5N PU在下。
[0043]在本发明中,“NxN”和“N乘N”可互换地使用以指视频块在垂直和水平尺寸方面的像素尺寸(例如,16x16像素或16乘16像素)。一般来说,16x16块将在垂直方向上具有16个像素(y = 16)且在水平方向上具有16个像素(x = 16)。同样,NxN块通常在垂直方向上具有N个像素且在水平方向上具有N个像素,其中N表示非负整数值。一块中的像素可布置成若干行及若干列。此外,块不必在水平方向具有与在垂直方向上相同数目的像素。举例来说,块可包括NxM个像素,其中M不必等于N。
[0044]在使用CU的PU进行帧内预测或帧间预测译码之后,视频编码器20可计算用于CU的TU的残余数据。可包括空间域(亦被称作像素域)中的像素数据,且TU可包括在将变换(例如,离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)应用于残余视频数据之后在变换域中的系数。残余数据可对应于未经编码的图片的像素与对应于PU的预测值之间的像素差。视频编码器20可形成包含用于CU的残余数据的TU,且接着对TU进行变换以产生用于CU的变换系数。
[0045]在进行任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化通常是指将变换系数量化以可能地减少用于表示系数的数据量从而提供进一步压缩的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,在量化期间,可将η位值向下舍入到m位值,其中η大于m。
[0046]在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化的变换系数,以产生可经熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应扫描。在扫描经量化的变换系数以形成一维向量之后,视频编码器20可对一维向量进行熵编码,例如,根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法。视频编码器20还可对与经编码的视频数据相关联的语法元素进行熵编码以用于视频解码器30在对视频数据进行解码时使用。
[0047]为了执行CABAC,视频编码器20可将上下文模型内的上下文指派给待发射的符号。举例来说,上下文可涉及符号的相邻值是否为非零。为了执行CAVLC,视频编码器20可选择用于待发射的符号的可变长度码。可建构VLC中的码字以使得相对较短的码对应于更大概率的符号,而较长的码对应于更小概率的符号。以此方式,VLC的使用可(例如)使用用于待发射的每一符号的相等长度码字而达成位节省。概率确定可是基于经指派给符号的上下文。
[0048]在H.264及新兴的HEVC标准中,当使用CABAC熵译码时,在对系数的绝对值或“层级”进行译码之前,对视频数据块内的有效(即,非零)残余变换系数的位置进行译码。对块内的有效系数的位置进行译码的过程被称作有效图(SM)译码。通常将用于视频数据块的SM表示为二进制值(即,I及O)的2D阵列,其中I指示块内的有效系数的位置,且O指示块内的非有效的或零值的系数的位置。I及O可被称作“有效系数旗标”。在一些状况下,仅在位流中用信号发出的I及O可被称作“有效系数旗标”,例如,根据如下文所描述的与块相关联的扫描次序在最后有效系数旗标之前的I及0,且有时包含最后有效系数旗标自身。
[0049]另外,在一些状况下,可进一步使用I及O的另一 2D阵列来表示SM,其中I指示根据与块相关联的扫描次序在块内的最后有效系数的位置,且O指示块内的所有其它系数的位置。在此些状况下,I及O可被称作“最后有效系数旗标”。再一次,在一些实例中,仅在位流中用信号发出的I及O可被称作“最后有效系数旗标”。举例来说,在使用序数(例如,根据扫描次序串行化的2D阵列的一串O及I)来表示最后有效系数的位置的状况下,仅根据扫描次序在I之前的O以及I自身可被称作“最后有效系数旗标”。在其它实例中,可使用根据扫描次序在块内的最后有效系数的坐标(例如,X坐标及y坐标)来表示最后有效系数的位置。[0050]一般来说,用于视频数据块的SM译码通常消耗用以对块进行译码的视频位速率的显著百分比。举例来说,在一些技术(例如,HEVC)中,以下三个扫描次序可用于SM译码:对角线扫描次序400、水平扫描次序402及垂直扫描次序404,如图4A到图4C内的对应块所示。
[0051]在对用于块的SM进行译码之后,对块的每一非零残余变换系数的值或“层级”(例如,表示为绝对值及正负号)进行译码。举例来说,为了使用先前在H.264标准中所指定的CABAC过程来对用于视频数据块的SM信息及残余变换系数层级进行译码,每一非零残余变换系数的绝对值经转换成二进制形式,或(例如)使用包括一个或一个以上位或“二进制值”的一元(例如,截短一元)及/或哥伦布(例如,指数哥伦布或莱斯哥伦布)码字来“二进制化”。用于块的每一有效系数旗标及最后有效系数旗标(如上文所解释,其可为有效系数旗标中的一者)已经包括单个二进制值,且因此绕过二进制化。用于块的每一有效系数(例如,用于每一有效系数旗标及最后有效系数旗标)的CABAC上下文推导包含考虑块的类型(例如,块大小)及块内的系数(例如,对应于相应旗标)的位置,及可能根据与块相关联的扫描次序的系数的位置,以及先前经译码的系数的值。用于经二进制化的残余变换系数绝对值的每一二进制值的CABAC上下文包含表示系数的绝对值及先前经译码的系数的值的一元(例如,截短一元)及/或哥伦布(例如,指数哥伦布或莱斯哥伦布)码字内的二进制值的位置。
[0052]根据一些视频译码技术,基于块的帧内译码可使用⑶的NxN正方形分割作为W。在一些实例中,在PU的给定正方形分割内部的像素可从相邻经重构的PU的边界(即,边缘像素)来预测,有时对在(例如)PU的右下部分中的像素比对PU的其它部分产生不良的预测。
[0053]为了更佳地利用空间相关,已提出所谓的“短距离帧内预测”(SDIP)译码技术。举例来说,SDIP技术可包含将NxN正方形块分割成若干线或具有矩形形状的非正方形的块。在块中,可逐行地或逐矩形地预测及重构像素。结果,可缩短预测距离。
[0054]在使用SDIP的一些技术中,可将⑶分割成I3U作为线或具有矩形形状的非正方形的块。举例来说,可将32x32CU分割成四个8x32PU或四个32x8PU。类似地,可将16xl6CU分割成四个8x8PU以及分割成四个4xl6PU或四个16x4PU。此外,可进一步将4x16或16x4PU分割成四个lxl6PU或四个16xlPU。并且,还可将8x8CU分割成四个2x8PU或四个8x2PU。
[0055]另外,一些技术还可使用非正方形的TU。举例来说,包含所谓的帧间“非正方形的变换”或帧间NSQT的技术可使用非正方形的TU。因此,在一些译码技术中,上文所描述的帧间NSQT及SDIP技术可引入非正方形的变换(NSQT)以用于分别帧间预测及帧内预测,及更一般来说非正方形的视频数据块。
[0056]根据使用非正方形的视频数据块的一些此些技术,当对非正方形的视频数据块进行译码时,可出于对系数进行熵译码的目的将特定非正方形的块的残余变换系数从非正方形的块映射到正方形块,如先前所描述。可能需要此映射,因为特定技术内所使用的熵译码过程可仅经配置以处理正方形块。换句话说,虽然可以如上文所描述的类似方式来对非正方形的块执行先前所描述的预测、变换及量化步骤,但使用非正方形的块的技术可要求在对系数进行熵译码之前将块的残余变换系数映射到正方形块。
[0057]上文所描述的做法具有若干缺点。作为一个实例,上文所描述的映射在使用CABAC过程时是有问题的,CABAC过程可基于视频数据块的残余变换系数在块内的位置来对所述残余变换系数进行译码。举例来说,出于对系数进行熵译码的目的将非正方形的块的残余变换系数从非正方形的块映射到正方形块可导致固有地存在于非正方形的块中的系数之间的相关的损失。作为一个实例,非零残余变换系数可集中或分组于非正方形的块的子集内,例如在通常被称作“DC”位置的块的左上角附近。将非正方形的块的残余变换系数映射到正方形块可消除此集中或分组。然而,此些分组可在选择用以对块进行译码的扫描次序时是有利的。举例来说,因为分组,所以某些扫描次序可用以比其它扫描次序更有效地对块进行译码。作为另一实例,上文所描述的做法还对译码过程增加复杂性,所述译码过程与在对系数进行熵编码之前将非正方形的块的残余变换系数从非正方形的块映射到正方形块,且随后在对系数进行熵译码之后从正方形块映射到非正方形的块相关联。
[0058]本发明描述可在一些状况下减少或消除上文所描述的缺点中的一些的若干技术。特定来说,本文中所描述的技术可使得能够在执行上下文自适应熵译码过程(例如,CABAC、PIPE等)时有效地对非正方形的视频数据块的残余变换系数进行熵译码。另外,本发明的技术可使得译码系统能够具有相对于其它系统较低的复杂性来对系数进行译码。
[0059]作为一个实例,本发明提出用于确定用以对非正方形视频数据块的残余变换系数进行译码的扫描次序的技术。举例来说,根据一些视频译码技术(例如,HEVC),用以对视频数据块进行译码的扫描次序通常包含曲折、水平、对角线及垂直扫描次序,如先前所描述。本发明的技术提出:取决于用以对块进行译码的帧内预测模式,使用曲折、水平、对角线或垂直扫描次序(如图6A到图6F中所说明)来对特定非正方形的视频数据块进行译码。另夕卜,本发明的技术提出:在块包含64或更少的残余变换系数时,使用曲折、水平、对角线或垂直扫描次序来对块进行译码,而不管用以对块进行译码的帧内预测模式如何。其它实例技术包含:在块包含64个以上残余变换系数时,使用单个固定扫描次序来对块进行扫描,而不管用以对块进行译码的帧内预测模式如何。
[0060]作为另一实例,本发明还提出用于使用上下文自适应熵译码(例如,CABAC)来对根据与块相关联的扫描次序在非正方形视频数据块内的最后有效系数的位置进行译码的技术,其中使用块的宽度及高度中的一者或一者以上来确定上下文。作为一般实例,在使用2D块的X坐标及y坐标来对用于块的最后有效系数位置进行译码的状况下,可使用块的对应尺寸的对应于块位置的数目的长度来确定用于对每一坐标进行译码的上下文。举例来说,用于对X坐标进行译码的上下文可包含在块的水平尺寸(即,宽度)中的块位置的数目,而可使用在块的垂直尺寸(即,高度)中的块位置的数目来确定用于对y坐标进行译码的上下文。在图5A到图5C中说明了根据与块相关联的扫描次序在非正方形视频数据块内的最后有效系数的位置的实例以及用于非正方形块的有效图(SM)及非正方形块自身。
[0061]在其中块的尺寸中的一者包含单个位置(例如,块包括单个行或列)而块的另一尺寸包含多个位置(例如,多个行或列)的实例中,仅对对应于具有多个位置的尺寸的坐标进行译码。举例来说,对于包括M个列及单个行的Mxl块,可能仅对X坐标进行译码。类似地,对于包括I个列及N个行的IxN块,可能仅对y坐标进行译码。
[0062]在块的尺寸中的一者包含两个位置(例如,块包括两个行或列)而块的另一尺寸包含(例如)两个以上位置的实例中,使用上下文来对对应于包含两个以上位置的尺寸的坐标进行译码,所述上下文是使用对应于包含两个位置的尺寸的坐标的值来确定。举例来说,对于包括M个列及2个行的Mx2块,可使用指示I坐标是对应于第一行还是第二行的信息确定上下文来对X坐标进行译码。类似地,对于包括2个列及N个行的2xN块,可使用指示X坐标是对应于第一列还是第二列的信息确定上下文来对y坐标进行译码。在此些实例中,确定用于对每一坐标进行译码的上下文仍可包含考虑块的对应尺寸的长度,如先前所描述。
[0063]作为又一实例,本发明提出用于使用上下文自适应熵译码(例如,CABAC)来对用于非正方形的视频数据块的有效图进行译码的技术。特定来说,本发明提出使用上下文自适应熵译码来对用于块的有效系数旗标(即,有效系数位置信息)进行译码的技术。可在对用于不同大小的其它块的有效系数位置信息进行译码时共享用以对用于块的有效系数位置信息进行译码的上下文模型(即,一个或一个以上上下文)。举例来说,可在对用于NxM及MxN块的有效系数位置信息进行译码时使用共同上下文模型。为了对用于NxM块的有效系数位置信息进行译码,可直接应用共同上下文模型,即可直接使用一个或一个以上上下文来对用于NxM块的有效系数位置信息进行译码。另一方面,为了对用于MxN块的有效系数位置信息进行译码,可通过将MxN块转置为类似于NxM块来应用共同上下文模型及包含于其中的一个或一个以上上下文,如图7A到图7B中所说明。在此状况下,块的经转置尺寸及根据扫描次序在块内的每一有效系数的经转置位置可对应于共同上下文模型及包含于其中的一个或一个以上上下文。此外,可使用用于NxM块及MxN块两者的有效系数位置信息来更新共同上下文模型及一个或一个以上上下文。再一次,在MxN块的状况下,可使用用于经转置而非原始MxN块的有效系数位置信息来更新共同上下文模型,或反之亦然。在另一实例中,MxN块的每一系数的X坐标及y坐标可在对用于块的有效系数位置信息进行译码(如上文所描述)之前经转置或“交换”,而不是转置MxN块自身。
[0064]此所提出的技术利用用于NxM块及MxN块的统计之间的经验测试期间发现的类似性,所述统计指示含有有效系数的相应块内的每一位置的概率。此类似性允许使用共同上下文模型(及包含于其中的一个或一个以上上下文),所述共同上下文模型包含用以对NxM块及MxN块两者进行译码的统计。作为共享共同上下文模型以对用于多个大小的非正方形的块的有效系数位置信息进行译码的结果,在对应译码系统中用以对非正方形的视频数据块进行译码的上下文模型(及上下文)的数目与其它译码系统相比较可能减少,因此可能导致对系统资源的更有效使用。
[0065]在一个实例中,对用于包含64个或更少残余变换系数的非正方形的块的有效系数位置信息进行译码使用块内的每一系数的位置来确定上下文。在另一实例中,对用于包含64个或更少残余变换系数的非正方形的块的有效系数位置信息进行译码使用根据与块相关联的扫描次序在块内的每一系数的位置来确定上下文。对于包含16个以上系数的块,对有效系数位置信息进行译码使用针对多个相邻系数确定的译码上下文。举例来说,四个邻近系数可共享共同上下文。以此方式,针对对应于较小块内的系数的有效系数旗标个别地确定的上下文可“映射”到较大块以用来对对应于较大块内的多个邻近系数的有效系数旗标进行译码。对于包含64个以上系数的块,对有效系数位置信息进行译码使用由有效相邻系数的数目确定的译码上下文。举例来说,添加五个相邻系数的有效性来计算所述上下文。
[0066]作为另一实例,对于包括16个列及单个行的16x1块,用于对特定有效系数旗标进行译码的上下文可使用对应于根据与块相关联的扫描次序在块内的对应系数的位置的列数来确定。在此状况下,扫描次序为从最左块位置进行到最右位置的水平扫描次序。对于包括单个列及16个行的1x16块,用于对特定有效系数旗标进行译码的上下文可与上文所描述的一样,因为在对用于块的有效系数旗标进行译码之前,块经转置为类似于16x1块。在此实例中,用于对用于16x1块或经转置1x16块的特定有效系数旗标进行译码的上下文可使用以下关系导出:
[0067]Ctx (X) =x;
[0068]其中CtX(X)指示用于经译码的特定有效系数旗标的上下文索引,且“X”指示对应于块内的旗标的系数的位置的X坐标。
[0069]作为另一实例,对于包括8列及2行的8x2块,用于对特定有效系数旗标进行译码的上下文可使用以下关系来导出:
[0070]
Clx(x.y) = (X) + (y?3);
[0071]其中ctx(x,y)指示用于经译码的特定有效系数旗标的上下文索引,其中“《”指示左移运算符,且“y”指示对应于块内的旗标的系数的位置的y坐标。换句话说,ctx(x,y)指示用于经译码的有效系数旗标的上下文索引,其中所述旗标对应于位于由X坐标及ι坐标指示的块内的位置处的系数。因此,用于对特定有效系数旗标进行译码的上下文可使用对应于块内的旗标的系数的位置的X坐标及I坐标来导出。类似地,对于包括2个列及8个行的2x8块,再一 次,在块经转置为类似于8x2块之后,如先前所描述,用于对特定有效系数旗标进行译码的上下文可使用相同关系导出。
[0072]作为又一实例,对于包括16列及4行的16x4块,用于对特定有效系数旗标进行译码的上下文可使用以下关系来导出:
[0073]

if(x<=l&&x<=I)



{

Ctx(x.y) = x + (y?l);



}

else if (x< 8)


{

Clx(x.y) = 3 + (x ? I) + ( (y ? I) ? 2);



}
[0074]

else



{


Ctx(x.y) = 9 + (x?2) + ((y?l)?l);



}
[0075]其中,“》”指示右移运算符。[0076]如由此关系所说明,针对对应于位于16x4块的不同子集或子块中的系数的有效系数旗标不同地确定上下文。举例来说,上下文可取决于对应于经译码的特定有效系数旗标的系数是否位于2x2子块内而变化,所述2x2子块起源于由块内的X坐标及I坐标(0,0)、(0,1)、(1,0)及(1,1)指示的块内的DC位置。对于对应于位于2x2子块之外但在由小于8的X坐标界定的子块内的系数的旗标,及对于块内的所有其它位置,上下文可进一步变化。类似地,对于包括4个列及16个行的4x16块,再一次,在块经转置为类似于16x4块之后,如先前所描述,用于对特定有效系数旗标进行译码的上下文可使用相同关系导出。
[0077]以如上文所描述的类似方式,对于包括32个列及8个行的32x8块,及其对应物8x32块,可以如当前在HEVC中执行的类似方式来计算用于对特定有效系数旗标进行译码的上下文,如先前所描述。
[0078]另外,如更详细参看图8A到图SB所描述,本发明还提出用于使用共同上下文模型(即,相同一个或一个以上上下文)来对用于正方形的视频数据块及非正方形的视频数据块中的每一者的有效系数位置信息进行译码的技术。
[0079]最终,本发明还提出用于对非正方形的视频数据块的残余变换系数的值或“层级”信息(例如,表示为绝对值及正负号)进行译码的技术,如图9A到图9B中所说明。举例来说,根据一些视频译码技术(例如,HEVC),为了对正方形块的残余变换系数层级进行译码,将块划分成各自包括16个系数的4x4子块。随后根据与子块相关联的扫描次序来对在每
一4x4子块内的系数进行译码。本发明提出通过首先使用与块相关联的扫描次序将系数串行化及接着沿着扫描次序将串行化系数划分成16个系数的群组来对非正方形的视频数据块的残余变换系数层级进行译码。接着在每一群组内对系数层级进行译码。
[0080]因此,在与本发明的技术一致的一些实例中,源装置12的视频编码器20可经配置以对某些视频数据块(例如,CU的一个或一个以上TU)进行编码,且目的地装置14的视频解码器30可经配置以从视频编码器20接收经编码的视频数据。作为一个实例,视频编码器20及/或视频解码器30可经配置以在视频译码过程期间对与视频数据块相关联的变换系数进行译码,其中所述块具有由宽度及高度界定的非正方形的形状。举例来说,视频编码器20及/或视频解码器30可经配置以对指示根据与块相关联的扫描次序在块内的最后非零系数的位置的X坐标及I坐标中的一者或一者以上进行译码。在此实例中,为了对X坐标及I坐标中的一者或一者以上中的每一者进行译码,视频编码器20及/视频解码器30可经配置以至少部分基于对应于坐标的块的宽度及高度中的一者来确定用以对相应的坐标进行译码的一个或一个以上上下文。视频编码器20及/或视频解码器30可经进一步配置以通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对相应的坐标进行译码。
[0081]作为另一实例,视频编码器20及/或视频解码器30可再一次经配置以在视频译码过程期间对与视频数据块相关联的变换系数进行译码,其中所述块具有由宽度及高度界定的非正方形的形状。举例来说,视频编码器20及/或视频解码器30可经配置以对识别块内的非零系数的位置的信息进行译码,其中为了对信息进行译码,视频编码器20及/或视频解码器30可经配置以至少部分基于块的宽度及高度中的一者或一者以上来确定用以对信息进行译码的一个或一个以上上下文。视频编码器20及/或视频解码器30可经进一步配置以通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对信息进行译码。
[0082]在上文所描述的实例中,用以对X坐标及y坐标中的相应者进行译码的一个或一个以上上下文是至少部分基于对应于坐标的块的宽度及高度中的一者来确定,及用以对识别块内的非零系数的位置的信息进行译码的一个或一个以上上下文是至少部分基于块的宽度及高度中的一者或一者以上来确定可导致包含于每一实例的一个或一个以上上下文内的概率估计相对于使用其它技术确定的概率估计更为准确。结果,视频编码器20及/或视频解码器30可更有效地对指示根据与块相关联的扫描次序在块内的最后非零系数的位置的X坐标及y坐标中的一者或一者以上中的每一者及识别块内的非零系数的位置的信息进行译码。举例来说,与使用其它技术来对坐标及信息进行译码的情况(例如,并未考虑块的宽度及高度且可导致较不准确的概率估计的技术)相比,视频编码器20及/或视频解码器30可使用较少的位来对X坐标及ι坐标以及信息进行译码。
[0083]此外,如下文参看图2及图3更详细所描述,通过使用共同上下文来对用于具有经转置尺寸(例如,4x8及8x4)或不同尺寸(例如,4x4及2x8)的多个块中的每一者的信息进行译码,本发明的技术还可使得视频编码器20及/或视频解码器30能够尤其在对识别块内的非零系数的位置的信息进行译码时具有相对于其它系统较低的复杂性。此外,本发明进一步包含用于扫描非正方形的视频数据块的变化系数的新颖技术,以及用于对识别块内的非零系数的值或“层级”的信息进行译码的技术,还如下文参看图2及图3更详细所描述。
[0084]因此,与使用其它方法的情况相比,本发明的技术可使得视频编码器20及/或视频解码器30能够更有效地对与块相关联的变化系数进行译码。特定来说,所述技术可在对块的变化系数及相关语法信息(例如,块的最后有效系数位置信息及有效系数位置信息)进行译码时改进对所述系数及所述信息的压缩。另外,所述技术可使得视频编码器20及/或视频解码器30能够具有相对于其它系统较低的复杂性来对系数及相关语法信息进行译码。以此方式,当使用本发明的技术时,对于包含经译码的系数及相关语法信息的经译码的位流可存在相对位节省,且用以对系数及相关语法信息进行译码的视频编码器20及/或视频解码器30的复杂性可相对降低。
[0085]视频编码器20和视频解码器30在适用时各自可经实施为例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合的多种合适编码器或解码器电路中的任一者。视频编码器20和视频解码器30中的每一者可包含于一个或一个以上编码器或解码器中,其中任一者可集成为组合式视频编码器/解码器(CODEC)的部分。包含视频编码器20和/或视频解码器30的设备可包括集成电路、微处理器,和/或例如蜂窝式电话等无线通信装置。
[0086]图2为说明视频编码器20的实例的框图,视频编码器20可实施本发明中所描述的与对非正方形的视频数据块的残余变换系数进行译码相关的技术。视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测以减少或移除给定视频帧或图片内的视频中的空间冗余。帧间译码依赖于时间预测以减少或移除视频序列的邻近帧或图片内的视频中的时间冗余。帧内模式(I模式)可指若干基于空间的压缩模式中的任一者。帧间模式(例如,单向预测(P模式)或双向预测(B模式))可指若干基于时间的压缩模式中的任一者。[0087]在图2的实例中,视频编码器20包含分割单元35、预测模块41、参考图片存储器64、求和器50、变换模块52、量化单元54及熵编码单元56。预测模块41包含运动估计单元42、运动补偿单元44及帧内预测模块46。对于视频块重构,视频编码器20还包含反量化单元58、反变换模块60,及求和器62。还可包含解块滤波器(图2中未展示)以将块边界滤波,以从经重构的视频移除成块假影。在需要时,解块滤波器通常对求和器62的输出进行滤波。除了解块滤波器之外还可使用额外回路滤波器(回路内或回路后)。
[0088]如图2中所示,视频编码器20接收视频数据,且分割单元35将数据分割成视频块。此分割还可包含分割成切片、平铺块或其它较大单元以及视频块分割(例如,根据LCU及CU的四分树结构)。视频编码器20通常说明对视频切片内的待编码的视频块进行编码的组件。切片可划分成多个视频块(且可能划分成被称作平铺块的视频块集合)。预测模块41可能基于错误结果(例如,译码速率及失真程度)选择用于当前视频块的多个可能的译码模式中的一者,例如,多个巾贞内译码模式中的一者或多个巾贞间译码模式中的一者。预测模块41可将所得经帧内译码或经帧间译码的块提供到求和器50以产生残余块数据,及提供到求和器62以重构经编码的块以用作参考图片。
[0089]预测模块41内的帧内预测模块46可相对于与待译码的当前块在同一帧或切片中的一个或一个以上相邻块执行对当前的视频块的帧内预测译码以提供空间压缩。预测模块41内的运动估计单元42及运动补偿单元44相对于一个或一个以上参考图片中的一个或一个以上预测块执行对当前的视频块的帧间预测译码以提供时间压缩。
[0090]运动估计单元42可经配置以根据用于视频序列的预定模式确定用于视频切片的帧间预测模式。预定模式可将序列中的视频切片指定为P切片、B切片或GPB切片。运动估计单元42与运动补偿单元44可高度集成,但出于概念上的目的而分开予以说明。由运动估计单元42所执行的运动估计为产生估计视频块的运动的运动向量的过程。举例来说,运动向量可指示当前视频帧或图片内的视频块的PU相对于参考图片内的预测块的移位。
[0091]预测块是经发现在像素差方面密切地匹配待译码的视频块的其可通过绝对差总和(SAD)、平方差总和(SSD)或其它差量度来确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可对参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值进行内插。因此,运动估计单元42可执行相对于全像素位置及分数像素位置的运动搜寻,且输出具有分数像素精度的运动向量。
[0092]运动估计单元42通过比较PU的位置与参考图片的预测块的位置来计算经帧间译码的切片中的视频块的I3U的运动向量。参考图片可选自第一参考图片列表(列表O)或第
二参考图片列表(列表I),所述列表中的每一者识别存储于参考图片存储器64中的一个或一个以上参考图片。运动估计单元42将经计算的运动向量发送到熵编码单元56及运动补偿单元44。
[0093]由运动补偿单元44执行的运动补偿可涉及基于由运动估计确定的运动向量来提取或产生预测块,可能对子像素精度执行内插。在接收到用于当前视频块的PU的运动向量之后,运动补偿单元44可将运动向量所指向的预测块定位在参考图片列表中的一者中。视频编码器20通过从经译码的当前视频块的像素值减去预测块的像素值而形成残余视频块,从而形成像素差值。像素差值形成用于块的残余数据,且可包含亮度及色度差分量两者。求和器50表示执行此减法运算的一个或一个以上组件。运动补偿单元44还可产生与视频块及视频切片相关联的语法元素以用于视频解码器30在对视频切片的视频块进行解码时使用。
[0094]帧内预测模块46可帧内预测当前块,以作为如上文描述的由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案。特定来说,帧内预测模块46可确定用以对当前块进行编码的帧内预测模式。在一些实例中,帧内预测模块46可(例如)在单独编码遍次期间使用各种帧内预测模式来对当前块进行编码,且帧内预测模块46 (或模式选择单元40,在一些实例中)可从所测试的模式选择适当的帧内预测模式来使用。举例来说,帧内预测模块46可使用针对各种所测试的帧内预测模式的速率失真分析来计算速率失真值,且在所测试的模式之间选择具有最佳速率失真特性的帧内预测模式。速率失真分析通常确定经编码的块与曾经被编码的原始的未经编码的块之间的失真(或误差)量以产生经编码的块,以及用以产生经编码的块的位速率(即,位的数目)。帧内预测模块46可计算用于各种经编码的块的失真及速率的比率以确定哪一帧内预测模式展现块的最佳速率失真值。
[0095]在任何情况下,在选择用于块的帧内预测模式之后,帧内预测模块46可将指示用于块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可根据本发明的技术对指示选定帧内预测模式的信息进行编码。视频编码器20可在所发射的位流配置数据(其可包含多个帧内预测模式索引表及多个经修改的帧内预测模式索引表(也被称作码字映射表))中包含用于各种块的编码上下文的定义,及用于所述上下文中的每一者的最有可能的帧内预测模式、帧内预测模式索引表及经修改的帧内预测模式索引表的指示。
[0096]在预测模块41经由帧间预测或帧内预测产生用于当前视频块的预测块之后,视频编码器20通过从当前视频块减去预测块而形成残余视频块。残余块中的残余视频数据可包含于一个或一个以上TU中且应用于变换模块52。变换模块52使用例如离散余弦变换(DCT)或概念上类似的变换等变换来将残余视频数据变换成残余变换系数。变换模块52可将残余视频数据从像素域转换到变换域(例如,频域)。
[0097]变换模块52可将所得变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步减小位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化的程度。在一些实例中,量化单元54接着可执行对包含经量化的变换系数的矩阵的扫描。或者,熵编码单元56可执行扫描。
[0098]在量化之后,熵编码单元56对经量化变换系数进行熵编码。举例来说,熵编码单元56可执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法或技术。在由熵编码单元56进行熵编码之后,可将经编码的位流发射到视频解码器30或存档以供稍后由视频解码器30发射或检索。熵编码单元56还可对用于正被译码的当前视频切片的运动向量及其它语法元素进行熵编码。
[0099]反量化单元58和反变换模块60分别应用反量化和反变换,以重构像素域中的残余块,以用于稍后用作参考图片的参考块。运动补偿单元44可通过将残余块添加到参考图片列表中的一者内的参考图片中的一者的预测块来计算参考块。运动补偿单元44也可将一个或一个以上内插滤波器应用于经重构的残余块来计算子整数像素值以用于运动估计。求和器62将经重构的残余块添加到由运动补偿单元44所产生的经运动补偿的预测块以产生参考块以供存储于参考图片存储器64中。参考块可由运动估计单元42及运动补偿单元44用作用于对后续视频帧或图片中的块进行帧间预测的参考块。
[0100]作为一个实例,视频编码器20可经配置以在视频译码过程期间对与视频数据块相关联的变换系数进行译码,其中所述块具有由宽度及高度界定的非正方形的形状。在此实例中,块可为CU的TU,如先前所描述。
[0101]举例来说,视频编码器20可经配置以对指示根据与块相关联的扫描次序在块内的最后非零系数的位置的X坐标及I坐标中的一者或一者以上(即,用于块的最后有效系数位置信息)进行译码。为了对X坐标及y坐标中的一者或一者以上中的每一者进行译码,视频编码器20可经配置以至少部分基于对应于坐标的块的宽度及高度中的一者来确定用以对相应的坐标进行译码的一个或一个以上上下文。视频编码器20可经进一步配置以通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程(例如,CABAC过程)来对相应的坐标进行译码。
[0102]在一些实例中,块的宽度可对应于X坐标,且块的高度可对应于y坐标。换句话说,为了对X坐标进行译码,视频编码器20可经配置以使用块的宽度来确定用于对X坐标进行译码的一个或一个以上上下文。类似地,为了对I坐标进行译码,视频编码器20可经配置以使用块的高度来确定用于对y坐标进行译码的一个或一个以上上下文。
[0103]在其它实例中,为了对X坐标及y坐标中的一者或一者以上进行译码,视频编码器20可经配置以在块的宽度及高度中的一者等于“I”从而指示宽度及高度中的一者包括单个块位置的情况下不对对应于宽度及高度中的一者的X坐标及y坐标中的一者进行译码。
[0104]在又其它实例中,为了对X坐标及y坐标中的一者或一者以上进行译码,视频编码器20可经配置以在块的宽度及高度中的一者等于“2”从而指示宽度及高度中的一者包括两个块位置的情况下,且在块的宽度及高度中的另一者等于大于“2”的值从而指示宽度及高度中的另一者包括两个以上块位置的情况下,至少部分基于对应于等于“2”的宽度及高度中的一者的X坐标及I坐标中的一者,进一步确定用以对对应于等于大于“2”的值的宽度及高度中的另一者的X坐标及y坐标中的另一者进行译码的一个或一个以上上下文。
[0105]作为另一实例,视频编码器20可再一次经配置以在视频译码过程期间对与视频数据块相关联的变换系数进行译码,其中所述块具有由宽度及高度界定的非正方形的形状。在此实例中,再一次,块可为CU的TU,如先前所描述。
[0106]举例来说,视频编码器20可经配置以对识别块内的非零系数的位置的信息(即,用于块的有效系数位置信息)进行译码,其中为了对信息进行译码,视频编码器20可经配置以至少部分基于块的宽度及高度中的一者或一者以上来确定用以对信息进行译码的一个或一个以上上下文。视频编码器20可经进一步配置以通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程(例如,CABAC过程)来对信息进行译码。
[0107]在一些实例中,视频编码器20可经进一步配置以针对块内的非零系数的位置中的一者或一者以上中的每一者,在对识别块内的非零系数的位置的信息进行译码之前互换指示块内的相应的位置的X坐标及I坐标。
[0108]在其它实例中,视频编码器20可经进一步配置以在对识别块内的非零系数的位置的信息进行译码之前将块转置。在此些实例中,块的宽度及高度中的一者或一者以上可包括经转置块的宽度及高度中的一者或一者以上。作为一个实例,为了在对信息进行译码之前将块转置,视频编码器20可经配置以在块的宽度大于块的高度的情况下将块转置。作为另一实例,为了在对信息进行译码之前将块转置,视频编码器20可经配置以在块的高度大于块的宽度的情况下将块转置。
[0109]在一些实例中,块可为第一块。在此些实例中,视频编码器20可经进一步配置以对识别第二块内的非零系数的位置的信息进行译码,其中第二块不同于第一块,且其中第二块具有由大小界定的正方形形状。在此些实例中,为了对信息进行译码,视频编码器20可经配置以通过至少部分基于用以对识别第一块内的非零系数的位置的信息进行译码的所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对信息进行译码。
[0110]以此方式,如先前所描述,尤其在对识别块内的非零系数的位置的信息进行译码时,视频编码器20可具有相对于其它系统较小的复杂性。具体来说,如上文所描述,视频编码器20可使用相同一个或一个以上上下文来对识别具有经转置尺寸或不同尺寸的多个块内的非零系数的位置的信息进行译码。
[0111]在此些实例中,视频编码器20可经进一步配置以基于第一块的宽度及高度且基于第二块的大小来确定第一块及第二块包含相同数目个系数,且将第一块内的系数的至少一个位置及第二块内的系数的至少一个位置映射到所确定的一个或一个以上上下文的至少一个共同上下文。并且,在此些实例中,视频编码器20可经进一步配置以基于识别第一块内的非零系数的位置的信息及识别第二块内的非零系数的位置的信息来更新所确定的一个或一个以上上下文。
[0112]在另外实例中,视频编码器20还可经配置以在块包括预定数目个系数或更少的系数时基于与块相关联的帧内预测模式从扫描次序群组中选择扫描次序作为与块相关联的扫描次序,且在块包括多于预定数目个系数时选择固定扫描次序作为与块相关联的扫描次序。视频编码器20可经进一步配置以使用与块相关联的选定扫描次序来对变换系数进行译码。
[0113]在一些实例中,预定数目个系数可包括六十四个系数。在其它实例中,扫描次序的群组及固定扫描次序可各自包括曲折扫描次序、水平扫描次序、垂直扫描次序及对角线扫描次序中的至少一者。作为一个实例,对角线扫描次序可从块的宽度及高度中的较小者开始扫描块。作为另一实例,对角线扫描次序可从块的宽度及高度中的较大者开始扫描块。
[0114]在又其它实例中,视频编码器20还可经配置以对识别块内的非零变换系数的值的信息进行译码,包含使用与块相关联的扫描次序将与块相关联的变换系数串行化,将串行化变换系数分割成各自包含预定数目个串行化变换系数的一个或一个以上群组,及对识别每一群组内的非零变换系数的值的信息进行译码。
[0115]在一些实例中,预定数目个系数可包括十六个系数。在其它实例中,为了对识别块内的非零变换系数的值的信息进行译码,视频编码器20可经配置以在块的宽度及高度中的至少一者不等于“4”的整数倍数的值时对信息进行译码。
[0116]因此,如上文所描述,与使用其它方法的情况相比,本发明的技术可使得视频编码器20能够更有效地对与块相关联的变化系数进行编码。特定来说,所述技术可在对块的变化系数及相关语法信息(即,块的最后有效系数位置信息及有效系数位置信息)进行编码时改进对所述系数及所述信息的压缩。另外,所述技术可使得视频编码器20能够具有相对于其它系统较低的复杂性来对系数及相关语法信息进行编码。以此方式,当使用本发明的技术时,对于包含经编码的系数及相关语法信息的经译码的位流可存在相对位节省,且用以对系数及相关语法信息进行编码的视频编码器20的复杂性可相对降低。
[0117]以此方式,视频编码器20表示包含于设备内的用于在视频译码过程期间对与视频数据块相关联的变换系数进行译码的视频译码器的实例,其中所述块具有由宽度及高度界定的非正方形的形状,其中视频译码器经配置以对指示根据与块相关联的扫描次序在块内的最后非零系数的位置的X坐标及y坐标中的一者或一者以上进行译码,其中为了对X坐标及y坐标中的一者或一者以上中的每一者进行译码,视频译码器经配置以至少部分基于对应于坐标的块的宽度及高度中的一者确定用以对相应的坐标进行译码的一个或一个以上上下文,且通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对相应的坐标进行译码。另外,视频编码器20还表示包含于设备内的用于在视频译码过程期间对与视频数据块相关联的变换系数进行译码的视频译码器的实例,其中块具有由宽度及高度界定的非正方形的形状,其中视频译码器经配置以对识别块内的非零系数的位置的信息进行译码,其中为了对信息进行译码,视频译码器经配置以至少部分基于块的宽度及高度中的一者或一者以上来确定用以对信息进行译码的一个或一个以上上下文,且通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对信息进行译码。
[0118]图3为说明视频解码器30的实例的框图,视频解码器30可实施本发明中所描述的与对非正方形的视频数据块的残余变换系数进行译码相关的技术。在图3的实例中,视频解码器30包含熵解码单元80、预测模块81、反量化单元86、反变换模块88、求和器90及参考图片存储器92。预测模块81包含运动补偿单元82及帧内预测模块84。视频解码器30在一些实例中可执行一般与关于来自图2的视频编码器20所描述的编码遍次互逆的解码遍次。
[0119]在解码过程期间,视频解码器30从视频编码器20接收表示经编码的视频切片的视频块及相关联的语法元素的经编码的视频位流。视频解码器30的熵解码单元80对位流进行熵解码以产生经量化的系数、运动向量及其它语法元素。熵解码单元80将运动向量及其它语法元素转发到预测模块81。视频解码器30可接收在视频切片层级及/或视频块层级处的语法元素。
[0120]当将视频切片译码为经帧内译码(I)的切片时,预测模块81的帧内预测模块84可基于来自当前帧或图片的先前经解码的块的用信号发出的帧内预测模式及数据来产生用于当前视频切片的视频块的预测数据。当将视频帧译码为经帧间译码(即,B、P或GPB)的切片时,预测模块81的运动补偿单元82基于从熵解码单元80接收的运动向量及其它语法元素产生用于当前视频切片的视频块的预测块。可从参考图片列表中的一者内的参考图片中的一者产生预测块。视频解码器30可基于存储于参考图片存储器92中的参考图片使用默认建构技术来建构参考帧列表,列表O及列表I。
[0121]运动补偿单元82通过剖析运动向量及其它语法元素来确定用于当前视频切片的视频块的预测信息,且使用预测信息来产生用于经解码的当前视频块的预测块。举例来说,运动补偿单元82使用所接收的语法元素中的一些来确定用以对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、用于切片的参考图片列表中的一者或一者以上的建构信息、用于切片的每一经帧内译码的视频块的帧间预测状态,以及用以对当前视频切片中的视频块进行解码的其它信息。
[0122]运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。在此状况下,运动补偿单元82可从所接收的语法元素来确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测块。
[0123]反量化单元86将提供于位流中且由熵解码单元80解码的经量化的变换系数反量化(即,解量化)。反量化过程可包含由视频编码器20针对视频切片中的每一视频块计算的量化参数的使用以确定量化的程度,且同样确定应被应用的反量化的程度。反变换模块88对变换系数应用反变换(例如,反DCT、反整数变换,或概念上类似的反变换过程),以便产生像素域中的残余块。
[0124]在运动补偿单元82基于运动向量及其它语法元素产生用于当前视频块的预测块之后,视频解码器30通过对来自反变换模块88的残余块与由运动补偿单元82产生的对应预测块求和来形成经解码的视频块。求和器90表示执行此求和运算的一个或一个以上组件。如果需要的话,还可应用去块滤波器以对经解码块进行滤波,以便移除成块假影。其它回路滤波器(在译码回路中或在译码回路之后)还可用以使像素转变平缓或以其它方式改进视频质量。接着将给定帧或图片中的经解码的视频块存储于参考图片存储器92中,参考图片存储器92存储用于后续运动补偿的参考图片。参考图片存储器92还存储经解码的视频以供稍后呈现于显示装置(例如,图1的显示装置28)上。
[0125]作为一个实例,视频解码器30可经配置以在视频译码过程期间对与视频数据块相关联的变换系数进行译码,其中所述块具有由宽度及高度界定的非正方形的形状。在此实例中,块可为CU的TU,如先前所描述。
[0126]举例来说,视频解码器30可经配置以对指示根据与块相关联的扫描次序在块内的最后非零系数的位置的X坐标及I坐标中的一者或一者以上(即,用于块的最后有效系数位置信息)进行译码,其中为了对X坐标及I坐标中的一者或一者以上中的每一者进行译码,视频解码器30可经配置以至少部分基于对应于坐标的块的宽度及高度中的一者来确定用以对相应的坐标进行译码的一个或一个以上上下文。视频解码器30可经进一步配置以通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程(例如,CABAC过程)来对相应的坐标进行译码。
[0127]在一些实例中,块的宽度可对应于X坐标,且块的高度可对应于y坐标。换句话说,为了对X坐标进行译码,视频解码器30可经配置以使用块的宽度来确定用于对X坐标进行译码的一个或一个以上上下文。类似地,为了对I坐标进行译码,视频解码器30可经配置以使用块的高度来确定用于对y坐标进行译码的一个或一个以上上下文。
[0128]在其它实例中,为了对X坐标及I坐标中的一者或一者以上进行译码,视频解码器30可经配置以在块的宽度及高度中的一者等于“I”从而指示宽度及高度中的一者包括单个块位置的情况下不对对应于宽度及高度中的一者的X坐标及y坐标中的一者进行译码。
[0129]在又其它实例中,为了对X坐标及I坐标中的一者或一者以上进行译码,视频解码器30可经配置以在块的宽度及高度中的一者等于“2”从而指示宽度及高度中的一者包括两个块位置的情况下,且在块的宽度及高度中的另一者等于大于“2”的值从而指示宽度及高度中的另一者包括两个以上块位置的情况下,至少部分基于对应于等于“2”的宽度及高度中的一者的X坐标及I坐标中的一者,进一步确定用以对对应于等于大于“2”的值的宽度及高度中的另一者的X坐标及y坐标中的另一者进行译码的一个或一个以上上下文。
[0130]作为另一实例,视频解码器30可再一次经配置以在视频译码过程期间对与视频数据块相关联的变换系数进行译码,其中所述块具有由宽度及高度界定的非正方形的形状。在此实例中,再一次,块可为CU的TU,如先前所描述。
[0131]举例来说,视频解码器30可经配置以对识别块内的非零系数的位置的信息(即,用于块的有效系数位置信息)进行译码,其中为了对信息进行译码,视频解码器经配置以至少部分基于块的宽度及高度中的一者或一者以上来确定用以对信息进行译码的一个或一个以上上下文。视频解码器30可经进一步配置以通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程(例如,CABAC过程)来对信息进行译码。
[0132]在一些实例中,视频解码器30可经进一步配置以针对块内的非零系数的位置中的一者或一者以上中的每一者,在对识别块内的非零系数的位置的信息进行译码之前互换指示块内的相应的位置的X坐标及I坐标。
[0133]在其它实例中,视频解码器30可经进一步配置以在对识别块内的非零系数的位置的信息进行译码之前将块转置。在此些实例中,块的宽度及高度中的一者或一者以上可包括经转置块的宽度及高度中的一者或一者以上。作为一个实例,为了在对信息进行译码之前将块转置,视频解码器30可经配置以在块的宽度大于块的高度的情况下将块转置。作为另一实例,为了在对信息进行译码之前将块转置,视频解码器30可经配置以在块的高度大于块的宽度的情况下将块转置。
[0134]在一些实例中,块可为第一块。在此些实例中,视频解码器30可经进一步配置以对识别第二块内的非零系数的位置的信息进行译码,其中第二块不同于第一块,且其中第二块具有由大小界定的正方形形状。在此些实例中,为了对信息进行译码,视频解码器30可经配置以通过至少部分基于用以对识别第一块内的非零系数的位置的信息进行译码的所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对信息进行译码。
[0135]以此方式,如先前所描述,尤其在对识别块内的非零系数的位置的信息进行编码时,视频解码器30可具有相对于其它系统较小的复杂性。具体来说,如上文所描述,视频解码器30可使用相同一个或一个以上上下文来对识别具有经转置尺寸或不同尺寸的多个块内的非零系数的位置的信息进行译码。
[0136]在此些实例中,视频解码器30可经进一步配置以基于第一块的宽度及高度且基于第二块的大小来确定第一块及第二块包含相同数目个系数,且将第一块内的系数的至少一个位置及第二块内的系数的至少一个位置映射到所确定的一个或一个以上上下文的至少一个共同上下文。并且,在此些实例中,视频解码器30可经进一步配置以基于识别第一块内的非零系数的位置的信息及识别第二块内的非零系数的位置的信息来更新所确定的一个或一个以上上下文。
[0137]在另外实例中,视频解码器30还可经配置以在块包括预定数目个系数或更少的系数时基于与块相关联的帧内预测模式从扫描次序群组中选择扫描次序作为与块相关联的扫描次序,且在块包括多于预定数目个系数时选择固定扫描次序作为与块相关联的扫描次序。视频解码器20可经进一步配置以使用与块相关联的选定扫描次序来对变换系数进行译码。
[0138]在一些实例中,预定数目个系数可包括六十四个系数。在其它实例中,扫描次序的群组及固定扫描次序可各自包括曲折扫描次序、水平扫描次序、垂直扫描次序及对角线扫描次序中的至少一者。作为一个实例,对角线扫描次序可从块的宽度及高度中的较小者开始扫描块。作为另一实例,对角线扫描次序可从块的宽度及高度中的较大者开始扫描块。
[0139]在又其它实例中,视频解码器30还可经配置以对识别块内的非零变换系数的值的信息进行译码,包含对识别各自包含预定数目个变换系数的一个或一个以上群组中的每一者内的非零变换系数的值的信息进行译码,将用于一个或一个以上群组的值接合成串行化值,且使用与块相关联的扫描次序将所述值解串行化。
[0140]在一些实例中,预定数目个系数可包括十六个系数。在其它实例中,为了对识别块内的非零系数的值的信息进行译码,视频解码器30可经配置以在块的宽度及高度中的至少一者不等于“4”的整数倍数的值时对信息进行译码。
[0141]因此,如上文所描述,与使用其它方法的情况相比,本发明的技术可使得视频解码器30能够更有效地对与块相关联的经编码的变化系数进行解码。特定来说,所述技术可在对块的变化系数及相关语法信息(即,块的最后有效系数位置信息及有效系数位置信息)进行编码且随后解码时改进对所述系数及所述信息的压缩。另外,所述技术可使得视频解码器30能够具有相对于其它系统较低的复杂性来对系数及相关语法信息进行解码。以此方式,当使用本发明的技术时,对于包含经编码的系数及相关语法信息的经译码的位流可存在相对位节省,且用以对来自经译码的位流的系数及相关语法信息进行解码的视频解码器30的复杂性可相对降低。
[0142]以此方式,视频解码器30表示包含于设备内的用于在视频译码过程期间对与视频数据块相关联的变换系数进行译码的视频译码器的实例,其中所述块具有由宽度及高度界定的非正方形的形状,其中视频译码器经配置以对指示根据与块相关联的扫描次序在块内的最后非零系数的位置的X坐标及I坐标中的一者或一者以上进行译码,其中为了对X坐标及y坐标中的一者或一者以上中的每一者进行译码,视频译码器经配置以至少部分基于对应于坐标的块的宽度及高度中的一者确定用以对相应的坐标进行译码的一个或一个以上上下文,且通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对相应的坐标进行译码。另外,视频解码器30还表示包含于设备内的用于在视频译码过程期间对与视频数据块相关联的变换系数进行译码的视频译码器的实例,其中块具有由宽度及高度界定的非正方形的形状,其中视频译码器经配置以对识别块内的非零系数的位置的信息进行译码,其中为了对信息进行译码,视频译码器经配置以至少部分基于块的宽度及高度中的一者或一者以上来确定用以对信息进行译码的一个或一个以上上下文,且通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对信息进行译码。
[0143]图5A到5C为说明与本发明的技术一致的非正方形的视频数据块以及对应有效系数位置信息及最后有效系数位置信息的实例的概念图。在图5A到图5C的实例中,块500为使用图6E中所示的对角线扫描次序扫描的8x4块。以如上文参看NxN视频数据块描述的类似方式,块502及504分别为用于块500的有效系数旗标及最后有效系数旗标的块。举例来说,块500内的块位置506对应于根据对角线扫描次序在块500内的最后有效系数。此外,块位置508对应于根据对角线扫描次序的块502的等于“I”的有效系数旗标中的最后一者。类似地,块位置510对应于块504的等于“I”的最后有效系数旗标。
[0144]图6A到图6F为说明与本发明的技术一致的使用曲折、水平、垂直及对角线扫描次序扫描的非正方形的视频数据块的实例的概念图。作为本发明的技术的一个方面,图6A到图6F描绘可用以对包括N个列及M个行的NxM视频数据块进行译码的曲折、水平、垂直及对角线扫描次序的实例,其中N及M具有不同的值(即,块为非正方形)。
[0145]举例来说,图6A到图6E中的每一者中所描绘的块(即,块600到608)为8x4块。作为另一实例,图6F中所描绘的块(即,块610)为4x8块。图6A到图6F中所说明的扫描次序中的每一者开始于块600到610中的相应者内的左上角位置(通常被称作“DC”位置)处,且从DC位置进行到块内的右下位置。举例来说,使用曲折扫描次序的一个变化来扫描块600,使用曲折扫描次序的另一变化来扫描块602,使用水平扫描次序来扫描块604,使用垂直扫描次序来扫描块606,且使用对角线扫描次序来扫描块608及块610,如由每一块内的箭头所说明。在其它实例中,与本发明的技术一致,曲折、水平、垂直及对角线扫描次序或其它扫描次序的其它变化可用以对非正方形的视频数据块进行译码。
[0146]图7A到图7B为说明与本发明的技术一致的已转置的非正方形的视频数据块的实例的概念图。如图7A到图7B中所示,8x4的视频数据块(块700)可经转置以产生4x8的视频数据块(块702)。图7A到图7B的实例仅为将非正方形的视频数据块转置的一个实例。在其它实例中,与本发明的技术一致,可使用不同技术来将非正方形的视频数据块转置。
[0147]图8A到图SB为说明与本发明的技术一致的正方形视频数据块及非正方形的视频数据块的实例的概念图,其中使用共同的一个或一个以上上下文来对有效系数位置信息进行译码。举例来说,如先前所解释,根据本发明的技术的另一方面,具有不同几何形状(例如,正方形及非正方形)及/或定向(例如,垂直及水平)但具有相同数目的残余变换系数的视频数据块可共享相同上下文模型,即相同一个或一个以上上下文。作为一个实例,本发明的技术提供可用以确定用于对特定块的每一有效系数旗标进行熵译码的上下文的块之间的映射。举例来说,映射可将相同或类似概率(或频率)值指派给具有各种几何形状及/或定向的块中的每一者内的特定位置。如先前所描述,概率或频率值可使用上下文索引来指示。
[0148]根据使用NxN( S卩,正方形)视频数据块的一些技术,用以对特定块的每一有效系数旗标进行熵译码的上下文是取决于根据与块相关联的扫描次序在块内的旗标的位置。作为一个实例,对于4x4视频数据块及水平扫描次序,用于对特定有效系数旗标进行译码的上下文可使用以下关系导出:
[0149]CtxInc = 4*PosY+PosX
[0150]CtxInc指示用于经译码的特定有效系数旗标的上下文索引,且“PosY”及“PosX”分别指示对应于NxN块内的旗标的系数的位置的y坐标及X坐标。
[0151]根据本发明的技术,以下关系定义用于8x2及2x8块的上文所描述的映射的实例:
[0152]If (PosX < 4) CtxInc = 4*PosY+PosX ;
[0153]否贝,CtxInc= 4+4*PosY+PosX ;
[0154]此映射假定非正方形的块具有比高度长的宽度,但在其它实例中,非正方形的块可具有比宽度长的高度。
[0155]图8A说明使用上文描述的关系(即“Ctxlnc = 4*PosY+PosX” )针对4x4块(块800)的有效系数旗标确定的上下文索引。图SB又说明还使用上文所描述的关系(即,“If (PosX < 4)CtxInc = 4*PosY+PosX ;否则,CtxInc = 4+4*PosY+PosX”)针对 8x2 块(块802)的有效系数旗标确定的上下文索引。
[0156]上文所描述的技术还可用以确定用于对包含64个系数或任何数目个系数的非正方形的块的有效系数旗标进行熵译码的上下文。
[0157]应注意,可使用“左位移”运算实现以2为因子(例如,2、4、8、16等)的乘法。举例来说,左位移运算“a?3”等效于“8*a”。类似地,可使用“右位移”运算实现以2为因子的除法。举例来说,右位移运算“a?3”等效于“a/8”,四舍五入到较低整数。作为一个实例,
一些技术可使用以下关系以用于确定用于8x8块的上文所描述的上下文:
[0158]

Ctx = 4 * (PosY? I) + (PosX?l)
[0159]根据本发明的技术,用于16x4及4x16块的上文所描述的上下文可使用以下关系
来确定:
[0160]

PosXl = PosX - [(PosX?3) <θ|

PosYl = PosY + [(PosX?3) ?2|

Clx = 4 (PosYl ? I) + (PosXUl)
[0161]类似地,用于32x2块的上文所描述的上下文可使用以下关系来确定:
[0162]

PosXl = PosX - [(PosX?3) ?3|

PosYl = PosY + [(PosX?3) ?I I

Ctx = 4::: (PosYl ? I) + (PosXl?l)
[0163]以此方式,对应于每一上下文的概率或频率对于32x2及2x32块以及对于16x4及4x16块可能相当密切地匹配8x8块的概率或频率。因此,与本发明的技术一致,可共享用于所有以上块大小的上下文。
[0164]图9A到图9B为说明与本发明的技术一致的非正方形的视频数据块的实例的概念图,其中已根据对角线扫描次序来对残余变换系数进行分组。如图9A中所示,使用对角线扫描次序来扫描8x4视频数据块(块900),所述对角线扫描次序从块的较小尺寸(即,高度)开始扫描块900。在其它实例中,对角线扫描次序可从较大尺寸(即,长度)开始扫描块900。如图9B中所示,将块900的系数串行化成两个系数群组,群组902及群组904,其中在此实例中,每一群组包括块900的十六个系数。在其它实例中,块900可包括更多或更少的系数,且可将系数分组成各自包括任何数目个系数的更多或更少的群组。在任何状况下,随后可对每一群组(在此实例中,群组902及群组904)内的有效系数的值或“层级”(例如,绝对值及正负号)进行译码,如上文所描述。
[0165]图1OA到图1OB为说明与本发明的技术一致的对非正方形的视频数据块的残余变换系数进行译码的方法的实例的流程图。图1OA到图1OB的技术可大体上由任何处理单元或处理器执行,无论是以硬件、软件、固件还是其组合来实施,且在以软件或固件实施时,可提供对应的硬件来执行软件或固件的指令。为举例说明,相对于视频编码器20(图1和2)及/或视频解码器30 (图1和3)来描述图1OA到图1OB的技术,但应理解,其它装置也可经配置以执行类似技术。此外,图1OA到图1OB中说明的步骤可按不同次序或并行地执行,且可添加额外步骤以及省略某些步骤,而不会脱离本发明的技术。
[0166]在一些实例中,视频编码器20及/或视频解码器30可在视频译码过程期间对与视频数据块相关联的变换系数进行译码,其中所述块具有由宽度及高度界定的非正方形的形状。举例来说,块可为CU的TU,如先前所描述。
[0167]最初,视频编码器20及/或视频解码器30可对指示根据与块相关联的扫描次序在块内的最后非零系数的位置的X坐标及y坐标中的一者或一者以上进行译码。举例来说,为了对X坐标及ι坐标中的一者或一者以上中的每一者进行译码,视频编码器20及/视频解码器30可至少部分基于对应于坐标的块的宽度及高度中的一者来确定用以对相应的坐标进行译码的一个或一个以上上下文(1000A)。视频编码器20及/或视频解码器30可进一步通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对相应的坐标进行译码(1002A)。
[0168]在一些实例中,块的宽度可对应于X坐标,且块的高度可对应于y坐标。换句话说,为了对X坐标进行译码,视频编码器20及/或视频解码器30可使用块的宽度来确定用于对X坐标进行译码的一个或一个以上上下文。类似地,为了对y坐标进行译码,视频编码器20及/或视频解码器30可使用块的高度来确定用于对I坐标进行译码的一个或一个以上上下文。
[0169]在其它实例中,为了对X坐标及y坐标中的一者或一者以上进行译码,视频编码器20及/或视频解码器30可在块的宽度及高度中的一者等于“I”从而指示宽度及高度中的一者包括单个块位置的情况下不对对应于宽度及高度中的一者的X坐标及y坐标中的一者进行译码。
[0170]在又其它实例中,为了对X坐标及I坐标中的一者或一者以上进行译码,视频编码器20及/或视频解码器30可在块的宽度及高度中的一者等于“2”从而指示宽度及高度中的一者包括两个块位置的情况下,且在块的宽度及高度中的另一者等于大于“2”的值从而指示宽度及高度中的另一者包括两个以上块位置的情况下,至少部分基于对应于等于“2”的宽度及高度中的一者的X坐标及y坐标中的一者,进一步确定用以对对应于等于大于“2”的值的宽度及高度中的另一者的X坐标及y坐标中的另一者进行译码的一个或一个以上上下文。
[0171]最后,在一些实例中,视频编码器20及/或视频解码器30可进一步对识别块内的非零系数的位置的信息(即,用于块的有效系数位置信息)进行译码(1004A)。
[0172]在其它实例中,视频编码器20及/或视频解码器30可再一次在视频译码过程期间对与视频数据块相关联的变换系数进行译码,其中所述块具有由宽度及高度界定的非正方形的形状。在此些实例中,再一次,块可为CU的TU,如先前所描述。
[0173]最初,在一些实例中,视频编码器20及/或视频解码器30可对识别根据与块相关联的扫描次序在块内的最后非零系数的位置的信息(即,用于块的最后有效系数位置信息)进行译码(1000B)。[0174]此外,视频编码器20及/或视频解码器30可对识别块内的非零系数的位置的信息(即,用于块的有效系数位置信息)进行译码,其中为了对信息进行译码,视频编码器20及/或视频解码器30可至少部分基于块的宽度及高度中的一者或一者以上来确定用以对信息进行译码的一个或一个以上上下文(1002B)。视频编码器20及/或视频解码器30可进一步通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对信息进行译码(1004B)。
[0175]在一些实例中,视频编码器20及/或视频解码器30可进一步针对块内的非零系数的位置中的一者或一者以上中的每一者,在对识别块内的非零系数的位置的信息进行译码之前互换指示块内的相应的位置的X坐标及I坐标。
[0176]在其它实例中,视频编码器20及/或视频解码器30可进一步在对识别块内的非零系数的位置的信息进行译码之前将块转置。在此些实例中,块的宽度及高度中的一者或一者以上可包括经转置块的宽度及高度中的一者或一者以上。作为一个实例,为了在对信息进行译码之前将块转置,视频编码器20及/或视频解码器30可在块的宽度大于块的高度的情况下将块转置。作为另一实例,为了在对信息进行译码之前将块转置,视频编码器20及/或视频解码器30可在块的高度大于块的宽度的情况下将块转置。
[0177]在一些实例中,块可为第一块。在此些实例中,视频编码器20及/或视频解码器30可进一步对识别第二块内的非零系数的位置的信息进行译码,其中第二块不同于第一块,且其中第二块具有由大小界定的正方形形状。在此些实例中,为了对信息进行译码,视频编码器20及/或视频解码器30可通过至少部分基于用以对识别第一块内的非零系数的位置的信息进行译码的所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对信息进行译码。
[0178]在此些实例中,视频编码器20及/或视频解码器30可进一步基于第一块的宽度及高度且基于第二块的大小来确定第一块及第二块包含相同数目个系数,且将第一块内的系数的至少一个位置及第二块内的系数的至少一个位置映射到所确定的一个或一个以上上下文的至少一个共同上下文。并且,在此些实例中,视频编码器20及/或视频解码器30可进一步基于识别第一块内的非零系数的位置的信息及识别第二块内的非零系数的位置的信息来更新所确定的一个或一个以上上下文。
[0179]在另外实例中,视频编码器20及/或视频解码器30还可在块包括预定数目个系数或更少的系数时基于与块相关联的帧内预测模式从扫描次序群组中选择扫描次序作为与块相关联的扫描次序,且在块包括多于预定数目个系数时选择固定扫描次序作为与块相关联的扫描次序。视频编码器20及/或视频解码器30可进一步使用与块相关联的选定扫描次序来对变换系数进行译码。
[0180]在一些实例中,预定数目个系数可包括六十四个系数。在其它实例中,扫描次序的群组及固定扫描次序可各自包括曲折扫描次序、水平扫描次序、垂直扫描次序及对角线扫描次序中的至少一者。作为一个实例,对角线扫描次序可从块的宽度及高度中的较小者开始扫描块。作为另一实例,对角线扫描次序可从块的宽度及高度中的较大者开始扫描块。
[0181]在又其它实例中,视频编码器20及/或视频解码器30还可对识别块内的非零变换系数的值的信息进行译码,包含使用与块相关联的扫描次序将与块相关联的变换系数串行化,将串行化变换系数分割成各自包含预定数目个串行化变换系数的一个或一个以上群组,及对识别每一群组内的非零变换系数的值的信息进行译码。
[0182]在一些实例中,预定数目个系数可包括十六个系数。在其它实例中,为了对识别块内的非零变换系数的值的信息进行译码,视频编码器20及/或视频解码器30可在块的宽度及高度中的至少一者不等于“4”的整数倍数的值时对信息进行译码。
[0183]以此方式,图1OA的方法表示一种在视频译码过程期间对与视频数据块相关联的变换系数进行译码的方法的实例,(其中所述块具有由宽度及高度界定的非正方形的形状),所述方法包括:对指示根据与所述块相关联的扫描次序在所述块内的最后非零系数的位置的X坐标及I坐标中的一者或一者以上进行译码,其中对所述X坐标及I坐标中的所述一者或一者以上中的每一者进行译码包含至少部分基于对应于坐标的块的宽度及高度中的一者,确定用以对相应的坐标进行译码的一个或一个以上上下文;及通过至少部分基于所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对相应的坐标进行译码。此外,图1OB的方法表示一种在视频译码过程期间对与视频数据块相关联的变换系数进行译码的方法的实例,(其中所述块具有由宽度及高度界定的非正方形的形状),所述方法包括:对识别在所述块内的非零系数的位置的信息进行译码,其中对所述信息进行译码包括至少部分基于所述块的所述宽度及所述高度中的一者或一者以上确定用以对所述信息进行译码的一个或一个以上上下文;及通过至少部分基于所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述信息进行译码。
[0184]另外,应注意,与本发明的技术一致,与对非正方形的视频数据块的残余变换系数进行译码有关的上文所描述的所有技术可单独地、一起或以其任何组合执行。
[0185]在一个或一个以上实例中,所描述的功能可以硬件、软件、固件或其任何组合来实施。如果以软件实施,那么功能可作为一个或一个以上指令或代码存储在计算机可读媒体上或经由计算机可读媒体传输,且由基于硬件的处理单元执行。计算机可读媒体可包含对应于例如数据存储媒体等有形媒体的计算机可读存储媒体,或包含促进计算机程序例如根据通信协议从一处传送到另一处的任何媒体的通信媒体。以此方式,计算机可读媒体通常可对应于(I)非暂时性的有形计算机可读存储媒体,或(2)例如信号或载波等通信媒体。数据存储媒体可以是可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中所述的技术的指令、代码及/或数据结构的任何可用媒体。计算机程序产品可包含计算机可读媒体。
[0186]举例来说且并非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用来以指令或数据结构的形式存储所要程序代码且可由计算机存取的任何其它媒体。同样,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(DSL)或例如红外线、无线电及微波等无线技术从网站、服务器或其它远程源传输指令,那么同轴电缆、光缆、双绞线、DSL或例如红外线、无线电及微波等无线技术包含于媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它暂态媒体,而是改为针对非暂态、有形的存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘使用激光光学地复制数据。上文的组合也应包含在计算机可读媒体的范围内。[0187]指令可由一个或一个以上处理器来执行,例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA),或其它等效的集成或离散的逻辑电路。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文描述的功能性可提供于经配置以用于编码和解码的专用硬件和/或软件模块内,或并入在组合式编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
[0188]本发明的技术可实施在各种各样的装置或设备中,包含无线手持机、集成电路(IC)或IC的集合(例如,芯片集)。本发明中描述了各种组件、模块或单元以强调经配置以执行所揭示技术的装置的功能方面,但不一定要求通过不同硬件单元来实现。而是,如上所述,各种单元可在编解码器硬件单元中组合或由互操作硬件单元(包含如上所述的一个或一个以上处理器)的集合结合合适软件和/或固件来提供。
[0189]已描述了各种实例。这些及其它实例属于所附权利要求书的范围内。
【权利要求】
1.一种在视频译码过程期间对与视频数据块相关联的变换系数进行译码的方法,其中所述块具有由宽度及高度界定的非正方形的形状,所述方法包括: 对指示根据与所述块相关联的扫描次序在所述块内的最后非零系数的位置的X坐标及I坐标中的一者或一者以上进行译码,其中对所述X坐标及所述I坐标中的所述一者或一者以上中的每一者进行译码包含: 至少部分基于对应于所述坐标的所述块的所述宽度及所述高度中的一者,确定用以对所述相应的坐标进行译码的一个或一个以上上下文;及 通过至少部分基于所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述相应的坐标进行译码。
2.根据权利要求1所述的方法,其中所述块的所述宽度对应于所述X坐标,且所述块的所述高度对应于所述I坐标。
3.根据权利要求1所述的方法,其中对所述X坐标及所述I坐标中的所述一者或一者以上进行译码包括: 在所述块的所述宽度及所述高度中的一者等于“I”从而指示所述宽度及所述高度中的所述一者包括单个块位置的情况下, 不对对应于所述宽度及所述高度中的所述一者的所述X坐标及所述y坐标中的一者进行译码。
4.根据权利要求1所述的方法,其中对所述X坐标及所述I坐标中的所述一者或一者以上进行译码包括: 在所述块的所述宽度及所述高度中的一者等于“2”从而指示所述宽度及所述高度中的所述一者包括两个块位置的情况下,且在所述块的所述宽度及所述高度中的另一者等于大于“2”的值从而指示所述宽度及所述高度中的所述另一者包括两个以上块位置的情况下,至少部分基于对应于等于“2”的所述宽度及所述高度中的所述一者的所述X坐标及所述y坐标中的一者,进一步确定用以对对应于等于大于“2”的值的所述宽度及所述高度中的所述另一者的所述X坐标及所述y坐标中的另一者进行译码的所述一个或一个以上上下文。
5.根据权利要求1所述的方法,其中译码包括编码,所述方法进一步包括: 对所述视频数据块进行编码以产生残余数据;及 变换所述残余数据以产生所述变换系数。
6.根据权利要求1所述的方法,其中译码包括解码,所述方法进一步包括: 反变换所述变换系数以产生残余数据;及 对所述残余数据进行解码以产生所述视频数据块。
7.一种在视频译码过程期间对与视频数据块相关联的变换系数进行译码的方法,其中所述块具有由宽度及高度界定的非正方形的形状,所述方法包括: 对识别所述块内的非零系数的位置的信息进行译码,其中对所述信息进行译码包括:至少部分基于所述块的所述宽度及所述高度中的一者或一者以上确定用以对所述信息进行译码的一个或一个以上上下文;及 通过至少部分基于所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述信息进行译码。
8.根据权利要求7所述的方法,其进一步包括: 针对所述块内的所述非零系数的所述位置中的一者或一者以上中的每一者,在对识别所述块内的所述非零系数的所述位置的所述信息进行译码之前互换指示所述块内的相应的位置的X坐标及I坐标。
9.根据权利要求7所述的方法,其进一步包括: 在对识别所述块内的所述非零系数的所述位置的所述信息进行译码之前将所述块转置,其中所述块的所述宽度及所述高度中的所述一者或一者以上包括所述经转置块的宽度及高度中的一者或一者以上,及 其中在对所述信息进行译码之前将所述块转置包括在所述块的所述宽度大于所述块的所述高度的情况下将所述块转置及在所述块的所述高度大于所述块的所述宽度的情况下将所述块转置中的一者。
10.根据权利要求7所述的方法,其中所述块为第一块,所述方法进一步包括: 对识别第二块内的非零系数的位置的信息进行译码,其中所述第二块不同于所述第一块,且其中所述第二块具有由大小界定的正方形形状,其中对所述信息进行译码包括: 通过至少部分基于用以对识别所述第一块内的所述非零系数的所述位置的所述信息进行译码的所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述信息进行译码。
11.根据权利要求10所述的方法,其进一步包括: 基于所述第一块的所述宽度及所述高度且基于所述第二块的所述大小确定所述第一块及所述第二块包含相同数目个系数;及 将所述第一块内的系数的至少一个位置及所述第二块内的系数的至少一个位置映射到所述所确定的一个或一个以上上下文中的至少一个共同上下文。
12.根据权利要求10所述的方法,其进一步包括: 基于识别所述第一块内的所述非零系数的所述位置的所述信息及识别所述第二块内的所述非零系数的所述位置的所述信息来更新所述所确定的一个或一个以上上下文。
13.根据权利要求7所述的方法,其进一步包括: 在所述块包括预定数目个系数或更少的系数时,基于与所述块相关联的帧内预测模式从扫描次序群组中选择扫描次序作为与所述块相关联的扫描次序,及 在所述块包括多于所述预定数目个系数时选择固定扫描次序作为与所述块相关联的所述扫描次序;及 使用与所述块相关联的所述选定扫描次序来对所述变换系数进行译码。
14.根据权利要求13所述的方法,其中所述预定数目个系数包括六十四个系数。
15.根据权利要求13所述的方法,其中所述扫描次序群组及所述固定扫描次序各自包括曲折扫描次序、水平扫描次序、垂直扫描次序及对角线扫描次序中的至少一者。
16.根据权利要求15所述的方法,其中所述对角线扫描次序从所述块的所述宽度及所述高度中的较小者及所述块的所述宽度及所述高度中的较大者中的一者开始扫描所述块。
17.根据权利要求7所述的方法,其进一步包括: 对识别所述块内的非零变换系数的值的信息进行译码包含: 使用与所述块相关联的扫描次序将与所述块相关联的所述变换系数串行化;将所述串行化变换系数分割成各自包含预定数目个所述串行化变换系数的一个或一个以上群组;及 对识别每一群组内的非零变换系数的值的信息进行译码。
18.根据权利要求17所述的方法,其中所述预定数目个系数包括十六个系数。
19.根据权利要求17所述的方法,其中对识别所述块内的所述非零变换系数的所述值的所述信息进行译码包括在所述块的所述宽度及所述高度中的至少一者不等于“4”的整数倍数的值时对所述信息进行译码。
20.根据权利要求7所述的方法,其中译码包括编码,所述方法进一步包括: 对所述视频数据块进行编码以产生残余数据;及 变换所述残余数据以产生所述变换系数。
21.根据权利要求7所述的方法,其中译码包括解码,所述方法进一步包括: 反变换所述变换系数以产生残余数据;及 对所述残余数据进行解码以产生所述视频数据块。
22.—种经配置以在视频译码过程期间对与视频数据块相关联的变换系数进行译码的设备,其中所述块具有由宽度及高度界定的非正方形的形状,所述设备包括视频译码器,所述视频译码器经配置以: 对指示根据与所述块相关联的扫描次序在所述块内的最后非零系数的位置的X坐标及I坐标中的一者或一者以上`进行译码,其中为了对所述X坐标及所述I坐标中的所述一者或一者以上中的每一者进行译码,所述视频译码器经配置以: 至少部分基于对应于所述坐标的所述块的所述宽度及所述高度中的一者,确定用以对所述相应的坐标进行译码的一个或一个以上上下文;及 通过至少部分基于所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述相应的坐标进行译码。
23.根据权利要求22所述的设备,其中所述块的所述宽度对应于所述X坐标,且所述块的所述高度对应于所述I坐标。
24.根据权利要求22所述的设备,其中为了对所述X坐标及所述y坐标中的所述一者或一者以上进行译码,所述视频译码器经配置以: 在所述块的所述宽度及所述高度中的一者等于“I”从而指示所述宽度及所述高度中的所述一者包括单个块位置的情况下,不对对应于所述宽度及所述高度中的所述一者的所述X坐标及所述I坐标中的一者进行译码。
25.根据权利要求22所述的设备,其中为了对所述X坐标及所述y坐标中的所述一者或一者以上进行译码,所述视频译码器经配置以: 在所述块的所述宽度及所述高度中的一者等于“2”从而指示所述宽度及所述高度中的所述一者包括两个块位置的情况下,且在所述块的所述宽度及所述高度中的另一者等于大于“2”的值从而指示所述宽度及所述高度中的所述另一者包括两个以上块位置的情况下,至少部分基于对应于等于“2”的所述宽度及所述高度中的所述一者的所述X坐标及所述y坐标中的一者,进一步确定用以对对应于等于大于“2”的值的所述宽度及所述高度中的所述另一者的所述X坐标及所述y坐标中的另一者进行译码的所述一个或一个以上上下文。
26.根据权利要求22所述的设备,其中所述设备包括以下至少一者:集成电路; 微处理器;及 包含所述视频译码器的无线通信装置。
27.根据权利要求22所述的设备,其中所述视频译码器包括视频编码器,且其中所述视频编码器经进一步配置以: 对所述视频数据块进行编码以产生残余数据;及 变换所述残余数据以产生所述变换系数。
28.根据权利要求22所述的设备,其中所述视频译码器包括视频解码器,且其中所述视频解码器经进一步配置以: 反变换所述变换系数以产生残余数据;及 对所述残余数据进行解码以产生所述视频数据块。
29.—种经配置以在视频译码过程期间对与视频数据块相关联的变换系数进行译码的设备,其中所述块具有由宽度及高度界定的非正方形的形状,所述设备包括视频译码器,所述视频译码器经配置以: 对识别所述块内的非零系数的位置的信息进行译码,其中为了对所述信息进行译码,所述视频译码器经配置以: 至少部分基于所述块的所述宽度及所述高度中的一者或一者以上确定用以对所述信息进行译码的一个或一个以上上下文;及 通过至少部分基于所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述信息进行译码。
30.根据权利要求29所述的设备,其中所述视频译码器经进一步配置以: 针对所述块内的所述非零系数的所述位置中的一者或一者以上中的每一者,在对识别所述块内的所述非零系数的所述位置的所述信息进行译码之前互换指示所述块内的相应的位置的X坐标及I坐标。
31.根据权利要求29所述的设备,其中所述视频译码器经进一步配置以: 在对识别所述块内的所述非零系数的所述位置的所述信息进行译码之前将所述块转置,其中所述块的所述宽度及所述高度中的所述一者或一者以上包括所述经转置块的宽度及高度中的一者或一者以上,及 其中为了在对所述信息进行译码之前将所述块转置,所述视频译码器经配置以执行在所述块的所述宽度大于所述块的所述高度的情况下将所述块转置及在所述块的所述高度大于所述块的所述宽度的情况下将所述块转置中的一者。
32.根据权利要求29所述的设备,其中所述块为第一块,且其中所述视频译码器经进一步配置以: 对识别第二 块内的非零系数的位置的信息进行译码,其中所述第二块不同于所述第一块,且其中所述第二块具有由大小界定的正方形形状,其中为了对所述信息进行译码,所述视频译码器经配置以: 通过至少部分基于用以对识别所述第一块内的所述非零系数的所述位置的所述信息进行译码的所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述信息进行译码。
33.根据权利要求32所述的设备,其中所述视频译码器经进一步配置以: 基于所述第一块的所述宽度及所述高度且基于所述第二块的所述大小确定所述第一块及所述第二块包含相同数目个系数;及 将所述第一块内的系数的至少一个位置及所述第二块内的系数的至少一个位置映射到所述所确定的一个或一个以上上下文中的至少一个共同上下文。
34.根据权利要求32所述的设备,其中所述视频译码器经进一步配置以: 基于识别所述第一块内的所述非零系数的所述位置的所述信息及识别所述第二块内的所述非零系数的所述位置的所述信息来更新所述所确定的一个或一个以上上下文。
35.根据权利要求29所述的设备,其中所述设备包括以下至少一者: 集成电路; 微处理器 '及 包含所述视频译码器的无线通信装置。
36.根据权利要求29所述的设备,其中所述视频译码器包括视频编码器,且其中所述视频编码器经进一步配置以: 对所述视频数据块进行编码以产生残余数据;及 变换所述残余数据以产生所述变换系数。
37.根据权利要求29所述的设备,其中所述视频译码器包括视频解码器,且其中所述视频解码器经进一步配置以: 反变换所述变换系数以产生残余数据;及 对所述残余数据进行解码以产生所述视频数据块。
38.一种经配置以在视频译码过程期间对与视频数据块相关联的变换系数进行译码的装置,其中所述块具有由宽度及高度界定的非正方形的形状,所述装置包括: 用于对指示根据与所述块相关联的扫描次序在所述块内的最后非零系数的位置的X坐标及I坐标中的一者或一者以上进行译码的装置,其中所述用于对所述X坐标及所述I坐标中的所述一者或一者以上中的每一者进行译码的装置包含: 用于至少部分基于对应于所述坐标的所述块的所述宽度及所述高度中的一者确定用以对所述相应的坐标进行译码的一个或一个以上上下文的装置;及 用于通过至少部分基于所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述相应的坐标进行译码的装置。
39.根据权利要求38所述的装置,其中所述用于对所述X坐标及所述y坐标中的所述一者或一者以上进行译码的装置包括: 用于在所述块的所述宽度及所述高度中的一者等于“I”从而指示所述宽度及所述高度中的所述一者包括单个块位置的情况下, 不对对应于所述宽度及所述高度中的所述一者的所述X坐标及所述y坐标中的一者进行译码的装置。
40.根据权利要求38所述的装置,其中所述用于对所述X坐标及所述y坐标中的所述一者或一者以上进行译码的装置包括: 用于在所述块的所述宽度及所述高度中的一者等于“2”从而指示所述宽度及所述高度中的所述一者包括两个块位置的情况下,且在所述块的所述宽度及所述高度中的另一者等于大于“ 2 ”的值从而指示所述宽度及所述高度中的所述另一者包括两个以上块位置的情况下, 至少部分基于对应于等于“2”的所述宽度及所述高度中的所述一者的所述X坐标及所述y坐标中的一者,进一步确定用以对对应于等于大于“2”的值的所述宽度及所述高度中的所述另一者的所述X坐标及所述y坐标中的另一者进行译码的所述一个或一个以上上下文的装置。
41.一种经配置以在视频译码过程期间对与视频数据块相关联的变换系数进行译码的装置,其中所述块具有由宽度及高度界定的非正方形的形状,所述装置包括: 用于对识别所述块内的非零系数的位置的信息进行译码的装置,其中所述用于对所述信息进行译码的装置包括: 用于至少部分基于所述块的所述宽度及所述高度中的一者或一者以上确定用以对所述信息进行译码的一个或一个以上上下文的装置;及 用于通过至少部分基于所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述信息进行译码的装置。
42.根据权利要求41所述的装置,其进一步包括: 用于针对所述块内的所述非零系数的所述位置中的一者或一者以上中的每一者在对识别所述块内的所述非零系数的所述位置的所述信息进行译码之前互换指示所述块内的相应的位置的X坐标及I坐标的装置。
43.根据权利要求41所述的装置,其中所述块为第一块,进一步包括: 用于对识别第二块内的非零系数的位置的信息进行译码的装置,其中所述第二块不同于所述第一块,且其中所述第二块具有由大小界定的正方形形状,其中所述用于对所述信息进行译码的装置包括: 用于通过至少部分基于用以对识别所述第一块内的所述非零系数的所述位置的所述信息进行译码的所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述信息进行译码的装置。
44.根据权利要求43所述的装置,其进一步包括: 用于基于所述第一块的所述宽度及所述高度且基于所述第二块的所述大小确定所述第一块及所述第二块包含相同数目个系数的装置;及 用于将所述第一块内的系数的至少一个位置及所述第二块内的系数的至少一个位置映射到所述所确定的一个或一个以上上下文中的至少一个共同上下文的装置。
45.一种存储指令的计算机可读存储媒体,所述指令在执行时致使一个或一个以上处理器在视频译码过程期间对与视频数据块相关联的变换系数进行译码,其中所述块具有由宽度及高度界定的非正方形的形状,且其中所述指令致使所述一个或一个以上处理器: 对指示根据与所述块相关联的扫描次序在所述块内的最后非零系数的位置的X坐标及I坐标中的一者或一者以上进行译码,其中致使所述一个或一个以上处理器对所述X坐标及所述y坐标中的所述一者或一者以上中的每一者进行译码的所述指令包括致使所述一个或一个以上处理器进行以下操作的指令: 至少部分基于对应于所述坐标的所述块的所述宽度及所述高度中的一者,确定用以对所述相应的坐标进行译码的一个或一个以上上下文;及通过至少部分基于所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述相应的坐标进行译码。
46.根据权利要求45所述的计算机可读存储媒体,其中致使所述一个或一个以上处理器对所述X坐标及所述y坐标中的所述一者或一者以上进行译码的所述指令包括致使所述一个或一个以上处理器进行以下操作的指令: 在所述块的所述宽度及所述高度中的一者等于“ I”从而指示所述宽度及所述高度中的所述一者包括单个块位置的情况下, 不对对应于所述宽度及所述高度中的所述一者的所述X坐标及所述y坐标中的一者进行译码。
47.一种存储指令的计算机可读存储媒体,所述指令在执行时致使一个或一个以上处理器在视频译码过程期间对与视频数据块相关联的变换系数进行译码,其中所述块具有由宽度及高度界定的非正方形的形状,且其中所述指令致使所述一个或一个以上处理器: 对识别所述块内的非零系数的位置的信息进行译码,其中致使所述一个或一个以上处理器对所述信息进行译码的所述指令包括致使所述一个或一个以上处理器进行以下操作的指令: 至少部分基于所述块的所述宽度及所述高度中的一者或一者以上确定用以对所述信息进行译码的一个或一个以上上下文;及 通过至少部分基于所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述信息进行译码。
48.根据权利要求47所述的计算机可读存储媒体,其进一步包括致使所述一个或一个以上处理器进行以下操作的指令: 针对所述块内的所述非零系数的所述位置中的一者或一者以上中的每一者,在对识别所述块内的所述非零系数的所述位置的所述信息进行译码之前互换指示所述块内的相应的位置的X坐标及I坐标。
49.根据权利要求47所述的计算机可读存储媒体,其中所述块为第一块,其进一步包括致使所述一个或一个以上处理器进行以下操作的指令: 对识别第二块内的非零系数的位置的信息进行译码,其中所述第二块不同于所述第一块,且其中所述第二块具有由大小界定的正方形形状,其中致使所述一个或一个以上处理器对所述信息进行译码的所述指令包括致使所述一个或一个以上处理器进行以下操作的指令: 通过至少部分基于用以对识别所述第一块内的所述非零系数的所述位置的所述信息进行译码的所述所确定的一个或一个以上上下文执行上下文自适应熵译码过程来对所述信息进行译码。
50.根据权利要求49所述的计算机可读存储媒体,其进一步包括致使所述一个或一个以上处理器进行以下操作的指令: 基于所述第一块的所述宽度及所述高度且基于所述第二块的所述大小确定所述第一块及所述第二块包含相同数目个系数;及 将所述第一块内的系数的至少一个位置及所述第二块内的系数的至少一个位置映射到所述所确定的一个或一个以上上下文中的至少一个共同上下文。
【文档编号】H04N19/61GK103636208SQ201280032600
【公开日】2014年3月12日 申请日期:2012年6月29日 优先权日:2011年7月1日
【发明者】霍埃尔·索赖·罗哈斯, 拉詹·雷克斯曼·乔希, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1