用于最后有效系数位置译码的上下文最优化的制作方法

文档序号:7993072阅读:248来源:国知局
用于最后有效系数位置译码的上下文最优化的制作方法
【专利摘要】一种视频编码器经配置以编码指示最后有效系数在视频块内的位置的二进制串。一种视频解码器经配置以解码所述经编码的二进制串。所述串可使用上下文自适应二进制算术译码CABAC进行译码。可向所述二进制串的二进制索引指派上下文。所述上下文可根据映射函数来确定。上下文可被指派给一或多个二进制索引,其中每一索引与不同块大小相关联。16×16视频块的最后二进制索引可与32×32视频块的最后二进制索引共享上下文。
【专利说明】用于最后有效系数位置译码的上下文最优化
[0001]相关申请案
[0002]本申请案主张以下各者的权利:
[0003]2011年11月8日申请的第61/557,317号美国临时申请案;
[0004]2011年11月20日申请的第61/561,909号美国临时申请案;
[0005]2012年I月19日申请的第61/588,579号美国临时专利申请案;以及
[0006]2012年2月7日申请的第61/596,049号美国临时专利申请案,所述申请案中的每一者特此以全文引用的方式被并入。
【技术领域】
[0007]本发明是关于视频译码,且更特定而言是关于用于译码变换系数的技术。
【背景技术】
[0008]数字视频能力可并入至广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、便携式或台式计算机、平板型计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏主机、蜂窝式或卫星无线电电话、所谓的“智能手机”、视频电话会议装置、视频流式传输装置,及其类似者。数字视频装置实施视频压缩技术,例如由MPEG-2、MPEG-4、ITU-T H.263、ITU-T H.264/MPEG-4第10部分(高级视频译码(AVC))定义的标准、目前在开发中的高效视频译码(HEVC)标准,及此等标准的扩展等中描述的彼等技术。视频装置可通过实施此等视频压缩技术而更有效率地发射、接收、编码、解码和/或存储数字视频信息。
[0009]视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测,以减少或移除视频序列中固有的冗余。对于基于块的视频译码,可将视频切片(即,视频帧或视频帧的一部分)分割成视频块,其还可被称作树型块、译码单元(CU)和/或译码节点。图片的帧内译码(I)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测来编码。图片的帧间译码(P或B)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
[0010]空间预测或时间预测导致用于待译码块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本的块的运动向量及指示经译码块与预测性块之间的差异的残余数据来编码帧间译码块。根据帧内译码模式及残余数据来编码帧内译码块。为了进一步压缩,可将残余数据从像素域变换至变换域,从而得到残余变换系数,可接着量化所述残余变换系数。可扫描最初布置成二维阵列的经量化的变换系数以便产生变换系数的一维向量,且可应用熵译码以实现甚至更多压缩。

【发明内容】

[0011]一般来说,本发明描述用于对视频数据译码的技术。具体来说,本发明描述用于对变换系数译码的技术。
[0012]在本发明的一个实例中,一种编码变换系数的方法包括:获得指示最后有效系数在与视频块相关联的变换系数块内的位置的二进制串;基于视频块大小确定用于所述二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所述所确定的上下文使用上下文自适应二进制算术译码(CABAC)来编码所述二进制串。
[0013]在本发明的另一实例中,一种解码变换系数的方法包括:获得指示最后有效系数在与视频块相关联的变换系数块内的位置的经编码二进制串,其中所述经编码二进制串是使用CABAC来编码;基于视频块大小确定用于所述经编码二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串。
[0014]在本发明的另一实例中,一种经配置以在视频编码过程中编码变换系数的设备包括:用于获得指示最后有效系数在与视频块相关联的变换系数块内的位置的二进制串的装置;用于基于视频块大小确定用于所述二进制串的二进制索引的上下文的装置,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及用于至少部分基于所述所确定的上下文使用CABAC来编码所述二进制串的装置。
[0015]在本发明的另一实例中,一种经配置以在视频解码过程中解码变换系数的设备包括:用于获得指示最后有效系数在与视频块相关联的变换系数块内的位置的经编码二进制串的装置,其中所述经编码二进制串是使用CABAC来编码;用于基于视频块大小确定用于所述经编码二进制串的二进制索引的上下文的装置,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及用于至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串的装置。
[0016]在本发明的另一实例中,一种装置包括视频编码器,其经配置以:获得指示最后有效系数在与视频块相关联的变换系数块内的位置的二进制串;基于视频块大小确定用于所述二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所述所确定的上下文使用CABAC来编码所述二进制串。
[0017]在本发明的另一实例中,一种装置包括视频解码器,其经配置以:获得指示最后有效系数在与视频块相关联的变换系数块内的位置的经编码二进制串,其中所述经编码二进制串是使用CABAC来编码;基于视频块大小确定用于所述经编码二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串。
[0018]在本发明的另一实例中,一种非暂时性计算机可读存储媒体具有存储于上面的指令,所述指令在执行时使得视频编码装置:获得指示最后有效系数在与视频块相关联的变换系数块内的位置的二进制串;基于视频块大小确定用于所述二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所述所确定的上下文使用CABAC来编码所述二进制串。
[0019]在本发明的另一实例中,一种非暂时性计算机可读存储媒体具有存储于上面的指令,所述指令在执行时使得视频解码装置:获得指示最后有效系数在与视频块相关联的变换系数块内的位置的经编码二进制串,其中所述经编码二进制串是使用CABAC来编码;基于视频块大小确定用于所述经编码二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串。
[0020]一或多个实例的细节陈述于附图及以下描述中。其它特征、目标及优势将从描述及附图和从权利要求书中显而易见。
【专利附图】

【附图说明】
[0021]图1为说明实例视频编码及解码系统的框图。
[0022]图2A至2D说明例示性系数值扫描次序。
[0023]图3说明关于系数值块的有效性图的一个实例。
[0024]图4为说明可实施本发明中所描述的技术的实例视频编码器的框图。
[0025]图5为说明可实施本发明中所描述的技术的实例熵编码器的框图。
[0026]图6为说明根据本发明的技术的编码指示最后有效系数的位置的二进制串值的实例的流程图。
[0027]图7为说明可实施本发明中所描述的技术的实例视频解码器的框图。
[0028]图8为说明可实施本发明中所描述的技术的实例熵解码器的框图。
[0029]图9为说明根据本发明的技术的解码指示最后有效系数的位置的二进制串值的实例的流程图。
【具体实施方式】
[0030]一般来说,本发明描述用于对视频数据译码的技术。具体来说,本发明描述用于在视频编码和/或解码过程中对变换系数译码的技术。在基于块的视频译码中,变换系数块可布置成二维(2D)阵列。可执行扫描过程以将变换系数的二维(2D)阵列重新布置成变换系数的经排序一维(ID)阵列(即,向量)。一或多个语法元素可用以基于扫描次序指示最后有效系数(即,非零系数)在变换系数块内的位置。最后有效系数的位置可供视频编码器使用以使变换系数的编码最优化。同样,视频解码器可使用最后有效系数的位置来使变换系数的解码最优化。因此,所要的是,对指示最后有效系数的位置的一或多个语法元素高效地译码。
[0031]本发明描述用于对指示最后有效系数的位置的一或多个语法元素译码的技术。在一些实例中,指示最后有效系数的位置的语法元素的全部或一部分可根据以下技术中的任一者受到熵译码:上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、概率区间分割熵译码(PIPE)或其类似者。在利用还可被称作“二进制位”或“二进制位索引”)的二进制索引及上下文指派的熵译码技术中,共同上下文指派可用于针对不同变换块(TU)大小和/或不同色彩分量的二进制位。以此方式,可减少上下文的总数。通过减少上下文的总数,由于需要存储较少上下文,因此视频编码器和/或视频解码器可对指示最后有效系数的位置的语法元素更高效地译码。
[0032]图1为说明根据本发明的实例的实例视频编码及解码系统10的框图,所述实例视频编码及解码系统10可经配置以利用用于对变换系数译码的技术。如图1中所展示,系统10包含源装置12,其经由通信信道16将经编码视频发射至目的装置14。经编码视频数据也可存储于存储媒体34或文件服务器36上,且可由目的装置14按需要进行存取。当存储至存储媒体或文件服务器时,视频编码器20可将经译码视频数据提供至另一装置,例如网络接口、光盘(⑶)、蓝光或数字视频光盘(DVD)刻录机或压印设施(stamping facility)装置或其它装置等,从而将经译码视频数据存储至存储媒体。同样,例如网络接口、⑶或DVD读取器或类似者等与视频解码器30分离的装置可从存储媒体检索经译码视频数据,且将检索到的数据提供至视频解码器30。
[0033]源装置12及目的装置14可包括广泛的多种装置中的任一者,所述装置包含台式计算机、笔记本式(即,便携式)计算机、平板计算机、机顶盒、例如所谓智能手机等的电话手机、电视、相机、显示装置、数字媒体播放器、视频游戏机,或其类似者。在许多状况下,此等装置可被配备以进行无线通信。因此,通信信道16可包括无线信道、有线信道,或适合于发射经编码视频数据的无线信道与有线信道的组合。类似地,文件服务器36可经由包含因特网连接的任何标准数据连接而由目的装置14存取。此数据连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、缆线调制解调器,等等),或两者的组合。
[0034]根据本发明的实例的用于对变换系数译码的技术可应用至支持多种多媒体应用中的任一者的视频译码,例如空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、存储于数据存储媒体上的数字视频的编码、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
[0035]在图1的实例中,源装置12包含视频源18、视频编码器20、调制器/解调器22,和发射器24。在源装置12中,视频源18可包含例如视频俘获装置(例如,摄像机)、含有先前俘获的视频的视频存档、自视频内容提供者接收视频的视频馈入接口和/或用于产生计算机图形数据作为源视频的计算机图形系统等源,或此等源的组合。作为一个实例,如果视频源18为摄像机,那么源装置12及目的装置14可形成所谓的相机电话或视频电话。然而,本发明中所描述的技术可大体适用于视频译码,且可应用于无线和/或有线应用,或经编码视频数据存储于本地磁盘上的应用。
[0036]经俘获、预先俘获或计算机产生的视频可由视频编码器20进行编码。经编码视频信息可由调制解调器22根据例如无线通信协议等的通信标准调制,且经由发射器24发射至目的装置14。调制解调器22可包含各种混频器、滤波器、放大器,或经设计以用于信号调制的其它组件。发射器24可包含经设计以用于发射数据的电路,包含放大器、滤波器及一或多个天线。
[0037]由视频编码器20编码的经俘获、预先俘获或计算机产生的视频还可存储于存储媒体34或文件服务器36上以供稍后消耗。存储媒体34可包含蓝光光盘、DVD、⑶-ROM、快闪存储器,或用于存储经编码视频的任何其它合适的数字存储媒体。存储在存储媒体34上的经编码视频可接着由目的装置14存取以用于解码及回放。
[0038]文件服务器36可为能够存储经编码视频且将所述经编码视频发射到目的装置14的任何类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储器(NAS)装置、本地磁盘驱动器,或能够存储经编码视频数据且将经编码视频数据发射到目的装置的任何其它类型的装置。来自文件服务器36的经编码视频数据的发射可为流式传输发射、下载发射或所述两者的组合。文件服务器36可由目的装置14通过任何标准数据连接(包含因特网连接)存取。此数据连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、缆线调制解调器、以太网、USB,等等),或两者的组合。
[0039]在图1的实例中,目的装置14包含接收器26、调制解调器28、视频解码器30和显示装置32。目的装置14的接收器26经由信道16接收信息,且调制解调器28解调所述信息以产生用于视频解码器30的经解调位流。经由信道16传达的信息可包含由视频编码器20产生以供视频解码器30在解码视频数据时使用的多种语法信息。此语法还可与存储在存储媒体34或文件服务器36上的经编码视频数据包含在一起。视频编码器20和视频解码器30中的每一者可形成能够编码或解码视频数据的各别编码器-解码器(CODEC)的部分。
[0040]显示装置32可与目的装置14集成,或在目的装置14外部。在一些实例中,目的装置14可包含集成显示装置,且还可经配置以与外部显示装置接口连接。在其它实例中,目的装置14可为显示装置。一般来说,显示装置32向用户显示经解码的视频数据,且可包括例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置等多种显示装置中的任一者。
[0041]在图1的实例中,通信信道16可包括任一无线或有线通信媒体,例如,射频(RF)频谱或一或多个物理发射线,或无线和有线媒体的任一组合。通信信道16可形成例如局域网、广域网或例如因特网的全球网络等基于分组的网络的部分。通信信道16—般表示用于将视频数据从源装置12发射到目的装置14的任何合适的通信媒体或不同通信媒体的集合,包含有线或无线媒体的任何合适组合。通信信道16可包含可用于促进从源装置12到目的装置14的通信的路由器、交换机、基站或任何其它设备。
[0042]视频编码器20和视频解码器30可根据视频压缩标准操作,视频压缩标准例如目前正由ITU-T视频译码专家组(VCEG)和IS0/IEC运动图片专家组(MPEG)的关于视频译码的联合合作团队(JCT-VC)开发的高效率视频译码(HEVC)标准,且可符合HEVC测试模型(HM)。视频编码器20和视频解码器30可根据HEVC标准的被称作“HEVC工作草案5”或“WD5”的新近草案操作,所述新近草案描述于文献JCTVC-Gl 103 (Bross等人)“WD5:高效率视频译码(HEVC)的工作草案5”(ITU-T SG16WP3和IS0/IEC JTC1/SC29/WG11的关于视频译码的联合合作团队(JCT-VC),第7次会议:瑞士日内瓦,2012年11月)中。另外,HEVC的另一新近工作草案(工作草案7)描述于文献HCTVC-11003 (Bross等人)“高效率视频译码(HEVC)文本规范草案7”(ITU-T SG16WP3和IS0/IEC JTC1/SC29/WG11的关于视频译码的联合合作团队(JCT-VC),第9次会议:瑞士日内瓦,2012年4月27日至2012年5月7日)中。替代地,视频编码器20及视频解码器30可根据例如替代地被称作MPEG-4第10部分高级视频译码(AVC)的ITU-TH.264标准的其它专属或行业标准或者此等标准的扩展而操作。然而,本发明的技术不限于任何特定译码标准。其它实例包含MPEG-2和ITU-T H.263。
[0043]尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件及软件,以处理对共同数据流或分离数据流中的音频与视频两者的编码。如果适用,那么在一些实例中,MUX-DEMUX单元可符合ITU H.223多路复用器协议,或例如用户数据报协议(m)P)等其它协议。
[0044]视频编码器20和视频解码器30各自可经实施为例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合等的多种合适编码器电路中的任一者。当所述技术部分地以软件实施时,装置可将用于软件的指令存储于合适的非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,其中任一者可集成为各别装置中的组合式编码器/解码器(编解码器(CODEC))的部分。 [0045]视频编码器20可实施本发明的用于在视频编码过程中译码变换系数的技术中的任一者或全部。同样,视频解码器30可实施用于在视频译码过程中对变换系数译码的此等技术中的任一者或全部。如本发明中所描述的视频译码器可指视频编码器或视频解码器。类似地,视频译码单元可指视频编码器或视频解码器。同样,视频译码可指视频编码或视频解码。
[0046]图1的视频编码器20和视频解码器30表示经配置以进行以下操作的视频译码器的实例:获得指不最后有效系数在视频块内的位置的二进制串;基于视频块大小确定二进制串的二进制索引的上下文,其中上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及至少部分基于所确定的上下文使用上下文自适应二进制算术译码(CABAC)对二进制串译码。
[0047]对于根据当前在开发中的HEVC标准的视频译码,视频帧可经分割成译码单元。译码单元(CU)通常是指用作各种译码工具被应用于以实现视频压缩的基本单元的图像区。CU通常具有表示为Y的明度分量,以及表示为U和V的两个色度分量。取决于视频采样格式,依据样本的数目来计的U和V分量的大小可与Y分量的大小相同或不同。CU通常为正方形,且可被视为类似于(例如)依据例如ITU-T H.264等其它视频译码标准的所谓的宏块。为了说明目的,在本申请案中将描述根据正在开发的HEVC标准的目前所提议方面中的一些的译码。然而,本发明中所描述的技术可用于其它视频译码过程,例如根据H.264定义的那些译码过程或其它标准或专属视频译码过程。HEVC标准化努力是基于视频译码装置的被称作HEVC测试模型(麗)的模型。HM假设视频译码装置的优于根据(例如)ITU-T
H.264/AVC的装置的若干能力。举例来说,H.264提供九个帧内预测编码模式,而HM提供多达三十四个帧内预测编码模式。
[0048]视频序列通常包含一系列视频帧或图片。图片群组(GOP)通常包括一系列的一或多个视频图片。GOP可在GOP的标头、图片中的一或多者的标头中或在别处包含语法数据,所述语法数据描述包含于GOP中的图片的数目。图片的每一切片可包含描述所述各别切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作,以便编码视频数据。视频块可包含对应于CU内的译码节点的一或多个TU或PU。视频块可具有固定或变化的大小,且可根据指定译码标准而在大小上不同。
[0049]根据HMJU可包含一或多个预测单元(PU)和/或一或多个变换单元(TU)。位流内的语法数据可定义最大译码单元(LCU),其为依据像素的数目来计的最大CU。一般来说,除了⑶不具有大小区别以外,⑶具有类似于H.264的宏块的用途。因此,可将⑶分裂成多个子CU。一般来说,本发明中对CU的参考可指图片的最大译码单元或LCU的子CU。可将LCU分裂成多个子CU,且可将每一子CU进一步分裂成多个子CU。用于位流的语法数据可定义可将LCU分裂的最大次数,所述最大次数被称作CU深度。因此,位流也可定义最小译码单元(S⑶)。本发明还使用术语“块”或“部分”来指⑶、PU或TU中的任一者。一般来说,“部分”可指视频帧的任一子集。
[0050]IXU可与四叉树数据结构相关联。一般来说,四叉树数据结构每⑶包含一个节点,其中根节点对应于IXU。如果将⑶分裂成四个子⑶,那么对应于⑶的节点包含四个叶节点,所述四个叶节点中的每一者对应于所述子CU中的一者。四叉树数据结构的每一节点可提供用于对应CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,所述分裂旗标指示对应于所述节点的CU是否分裂成多个子CU。可以递归方式定义用于CU的语法元素,且用于⑶的语法元素可取决于⑶是否分裂成多个子⑶。如果⑶未经进一步分裂,那么CU被称作叶CU。在本发明中,叶CU的4个子CU也将被称作叶CU,尽管不存在原始叶CU的明显分裂。举例来说,如果具有16X 16大小的⑶不被进一步分裂,那么四个8X8子⑶也将被称作叶CU,尽管16X 16CU从未被分裂。
[0051 ] 此外,叶⑶的TU还可与各别四叉树数据结构相关联。即,叶⑶可包含指示如何将叶CU分割成多个TU的四叉树。本发明提及指示如何将LCU分割为CU四叉树的四叉树,以及指示如何将叶CU分割成多个TU作为TU四叉树的四叉树。TU四叉树的根节点一般对应于叶⑶,而⑶四叉树的根节点一般对应于IXU。未经分裂的TU四叉树的TU被称作叶TU。 [0052]叶⑶可包含一或多个预测单元(PU)。一般来说,PU表示对应⑶的全部或一部分,且可包含用于检索用于PU的参考样本的数据。举例来说,当经帧间模式编码时,PU可包含定义用于PU的运动向量的数据。定义运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、用于运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考帧,和/或用于运动向量的参考列表(例如,列表O或列表1)。定义I3U的叶CU的数据还可描述(例如)将CU分割成一或多个ro。分割模式可取决于CU是未经译码、经帧内预测模式编码还是经帧间预测模式编码而不同。对于帧内译码,可将PU视为与下文所描述的叶变换单元相同。
[0053]作为一实例,HM支持以各种I3U大小进行预测。假定特定⑶的大小为2NX 2N,那么HM支持以2NX2N或NXN的I3U大小进行帧内预测,及以2NX2N、2NXN、NX2N或NXN的对称I3U大小进行帧间预测。HM也支持以2NXnU、2NXnD、nLX 2N及nRX 2N的PU大小进行帧间预测的不对称分割。在不对称分割中,CU的一个方向未分割,而另一方向分割成25%与75%。⑶的对应于25%分区的部分由“η”继之以“上”、“下”、“左”或“右”的指示来指示。因此,例如,“2NXnU”指水平分割成顶部2NX0.5N PU及底部2NX1.5N PU的2NX2NCU。
[0054]在本发明中,“NXN”与“N乘N”可互换地使用以指视频块在垂直尺寸与水平尺寸方面的像素尺寸,例如,16X16像素或16乘16像素。一般来说,16X16块在垂直方向上将具有16个像素(y = 16)且在水平方向上将具有16个像素(x = 16)。同样,NXN块通常在垂直方向上具有N个像素,且在水平方向上具有N个像素,其中N表示非负整数值。块中的像素可布置成若干行和若干列。此外,块未必需要在水平方向上与在垂直方向上具有相同数目的像素。举例来说,块可包括NXM个像素,其中M未必等于N。
[0055]为了对块(例如,视频数据的预测单元)进行译码,首先导出用于块的预测子。还被称作预测性块的预测子可经由帧内(I)预测(即,空间预测)或帧间(P或B)预测(即,时间预测)来导出。因此,一些预测单元可使用相对于同一帧(或切片)中的相邻参考块中的参考样本的空间预测来进行帧内译码(I),且其它预测单元可相对于其它先前译码帧(或切片)中的参考样本块进行单向帧间译码(P)或双向帧间译码(B)。在每一状况下,参考样本可用以形成待译码块的预测性块。
[0056]在识别了预测性块时,确定原始视频数据块与其预测性块之间的差。此差可被称作预测残余数据,且指示将被译码的块中的像素值与经选择以表示经译码块的预测性块中的像素值之间的像素差。为了实现更好的压缩,预测残余数据可(例如)使用离散余弦变换(DCT)、整数变换、卡南-洛伊夫(Karhunen-Loeve) (K-L)变换或另一变换进行变换。
[0057]例如TU等变换块中的残余数据可布置成驻存于空间像素域中的像素差值的二维(2D)阵列。变换将残余像素值转换成例如频域等变换域中的变换系数的二维阵列。为了进一步压缩,在熵译码之前可量化变换系数。熵译码器接着将例如CAVLC、CABAC、PIPE或其类似者等熵译码应用至经量化的变换系数。
[0058]为了对经量化的变换系数块进行熵译码,通常执行扫描过程,使得块中经量化变换系数的二维(2D)阵列根据特 定扫描次序重新布置成变换系数的经排序的一维(ID)阵列(即,向量)。熵译码接着被应用至变换系数的向量。对变换单元中的经量化变换系数的扫描使变换系数的2D阵列串行化以用于熵译码器。可产生有效性图以指示有效(亦即,非零)系数的位置。可应用扫描以扫描有效(亦即,非零)系数的级别,和/或对有效系数的正负号译码。
[0059]在HEVC中,首先针对TU译码有效变换系数的位置信息(例如,有效性图)以指示最后非零系数在扫描次序中的位置。以逆扫描次序针对每一系数对有效性图和级别信息(系数的绝对值和正符号)进行译码。
[0060]在进行任何变换以产生变换系数之后,视频编码器20可执行变换系数的量化。量化大体是指如下过程:将变换系数量化以可能地减少用以表示所述系数的数据的量,从而提供进一步压缩。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,可在量化期间将η位值降值舍位至m位值,其中η大于m。在一些实例中,视频编码器20可利用预定义扫描次序来扫描经量化的变换系数,以产生可经熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应扫描。
[0061]图2A至2D说明一些不同例示性扫描次序。还可使用其它所定义扫描次序或自适应(变化的)扫描次序。图2A说明Z字形扫描次序,图2B说明水平扫描次序,图2C说明垂直扫描次序,且图2D说明对角线扫描次序。还可定义并使用这些扫描次序的组合。在一些实例中,本发明的技术在视频译码过程中在所谓有效性图的译码期间可为特别适用的。
[0062]一或多个语法元素可经定义以指示最后有效系数(即,非零系数)的位置,所述位置可取决于与系数块相关联的扫描次序。举例来说,一个语法元素可定义最后有效系数在系数值块内的列位置,且另一语法元素可定义最后有效系数在系数值块内的行位置。
[0063]图3说明关于系数值块的有效性图的一个实例。有效性图展示于右侧,其中I位旗标识别左侧视频块中有效(即,非零)的系数。在一个实例中,在给定有效系数的集合(例如,通过有效性图定义)及扫描次序的情况下,可定义出最后有效系数的位置。在新兴HEVC标准中,可将变换系数分组成信息块。信息块可包括整个TU,或在一些状况下,TU可被再分成较小信息块。针对信息块中的每一系数译码有效性图及级别信息(绝对值和正负号)。在一个实例中,对于4X4TU及8X8TU,信息块由呈逆扫描次序(例如,对角线、水平或垂直)的16个连续系数组成。对于16X16及32X32TU,4X4子块内的系数被当作信息块。语法元素经译码且用信号传送以表示信息块内的系数级别信息。在一个实例中,所有符号是以逆扫描次序编码。本发明的技术可改善用以定义系数块的最后有效系数的此位置的语法元素的译码。
[0064]作为一个实例,本发明的技术可用以译码系数块(例如,TU或TU的信息块)的最后有效系数的位置。接着,在译码最后有效系数的位置之后,可译码与变换系数相关联的级别及正负号信息。级别及正负号信息的译码可通过以逆扫描次序译码以下符号(例如,对于TU或TU的信息块)根据五遍次方法而进行处理:
[0065]significant _coeff_flag(缩写sigMapFlag):此旗标可指示信息块中每一系数的有效性。具有一或大于一的值的系数可被认为是有效的。
[0066]coeff_abs_level_greaterl_flag(缩写 grlFlag):此旗标可指示系数的绝对值对于非零系数(即,具有为I的sigMapFlag的系数)是否大于I。
[0067]coeff_abs_level_greater2_flag(缩写 gr2Flag):此旗标可指示系数的绝对值对于具有大于I的绝对值的系数(即,具有为I的gr IFlag的系数)是否大于2。
[0068]coeff_sign_flag(缩写signFlag):此旗标可指示非零系数的正负号信息。举例来说,此旗标的零可指示正号,而I可指示负号。
[0069]coeff_abs_level_remain(缩写IevelRem):此语法元素可指示变换系数级别的剩余绝对值。对于此语法元素,对于具有大于X的幅值的每一系数,系数的绝对值-X可译码为(abs(级别)_x)。X的值取决于grlFlag和gr2Flag的呈现。若已对gr2Flag进行了译码,则将IevelRem值计算为(abs(级别)_2)。如果尚未对gr2Flag进行译码,但已对grlFlag进行了译码,那么将IevelRem值计算为(abs (级别)_1)。
[0070]以此方式,可对TU或TU的一部分(例如,信息块)的变换系数译码。在任何状况下,关系到用以定义系数块的最后有效系数的位置的语法元素的译码的本发明的技术还可与用于最终译码变换系数的级别及正负号信息的其它类型的技术一起使用。如本发明中所陈述,用于译码有效性、级别及正负号信息的五遍次方法仅为在译码块的最后有效系数的位置之后可使用的一项实例技术。
[0071]在扫描经量化变换系数以形成一维向量之后,视频编码器20可熵编码变换系数的一维向量。视频编码器20还可熵编码与经编码视频数据相关联的语法元素以供视频解码器30用于解码视频数据。熵编码可根据以下技术中的一者来执行:CAVLC、CABAC、基于语法的上下文自适应二进制算术译码(SBAC)、PIPE译码或另一熵编码方法。为了执行CAVLC,视频编码器20可针对待发射的符号选择可变长度代码。可构建可变长度译码(VLC)中的代码字,使得相对较短代码对应于更有可能的符号,而较长代码对应于较不可能的符号。以此方式,与(例如)针对待发射的每一符号使用等长度代码字相比较,使用VLC可实现位节省。
[0072]本发明的熵译码技术被具体描述为适用于CABAC,但所述技术还可适用于CAVLC、SBAC, PIPE或其它技术。请注意,PIPE使用类似于算术译码的那些原理的原理。
[0073]—般来说,使用CABAC对数据符号译码可涉及以下步骤中的一或多者:
[0074](I) 二进制化:如果待译码符号具有非二进制值,那么其被映射至二进制序列,即所谓的“二进制位串”。二进制位串中的每一二进制索引(即,“二进制位”)可具有值“O”或 “I”。
[0075](2)上下文指派:在规则模式中,将每一二进制位指派给上下文。二进制位还可根据不指派上下文的绕过模式译码。上下文为概率模型,且常常被称作“上下文模型”。如本文中所使用,术语上下文可指概率模型或概率值。上下文确定对于给定二进制位如何计算二进制位的值的概率。上下文可基于例如先前编码符号的值或二进制位号码等的信息与二进制位的值的概率关联。另外,可基于较高级别(例如,切片)参数将上下文指派给二进制位。
[0076](3) 二进制位编码:用算术编码器来编码二进制位。为了编码二进制位,算术编码器需要二进制位的值的概率(即,二进制位的值等于“O”的概率,和/或二进制位的值等于“I”的概率)作为输入。(所估计)概率可在上下文中由被称作“上下文状态”的整数值表
/Jn ο
[0077](4)状态更新:可基于二进制位的实际经译码值更新所选择上下文的概率(状态)(例如,如果二进制位值为“I”,那么二进制位为“I”的概率可得到增加)。可根据与上下文相关联的转变规则来管控概率的更新。
[0078]以下内容为可由视频编码器20执行的最后有效系数语法元素的实例二进制化技术。最后有效系数语法元素可包含最后有效系数在二维块内的行位置和列位置(即,X坐标和y坐标)。对于8X8块,存在系数在列或行内的最后位置的八个不同可能性,即,0,1,...,
7。将八个不同二进制位用以表示此等八个行或列位置。举例来说,binO= I可指示,行或列O处的系数为最后有效系数。在此实例中,如果binO = 0,那么位置O处的系数并非最后系数。等于I的另一二进制位可指示最后有效系数的位置。举例来说,binl = I可指示,位置I为最后有效系数。作为另一实例,binX= I可指示,位置X为最后有效系数。如上文所描述,每一二进制位可由两种不同方法来编码:(I)用上下文编码二进制位,和(2)使用绕过模式编码二进制位(在无上下文的情况下)。
[0079]表1展示最后有效系数的位置的实例二进制化,其中一些二进制位用上下文编码,且其它二进制位使用绕过模式编码。表1中的实例提供用于32X32TU的最后有效系数的实例二进制化。表1的第二列提供最后有效系数在大小为T的TU内的位置的可能值的对应截断一元前缀值,所述大小T由为21og2(T)-l的最大截断一元前缀长度定义。表1的第三列提供每一截断一元前缀的对应固定长度后缀。为了简洁,表1包含指示一或零位值的X值。请注意,X值根据固定长度代码唯一地映射共享截断一元前缀的每一值。表1中最后位置分量的量值可对应于X坐标值和/或y坐标值。请注意,用于4X4、8X8和16X 16TU的最后有效系数的二进制化可以类似于关于表1描述的32X32TU的二进制化的方式来定义。
【权利要求】
1.一种编码视频块的变换系数的方法,所述方法包括: 获得指示最后有效系数在与视频块相关联的变换系数块内的位置的二进制串; 基于视频块大小确定用于所述二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及 至少部分基于所述所确定的上下文使用上下文自适应二进制算术译码CABAC来编码所述二进制串。
2.根据权利要求1所述的方法,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给所述至少两个二进制索引中的每一者:
ctx_index = (η >> 1g2 (T)) +15 ; 其中η为所述二进制索引,且T为所述视频块的尺寸。
3.根据权利要求1所述的方法,其中所述上下文被指派给16X 16视频块的最后二进制索引和32X32视频块的最后二进制索引。
4.根据权利要求3所述的方法,其中第二上下文被指派给所述16X 16视频块的相邻二进制索引。
5.根据权利要求1所述的方法,其中至少部分基于所述所确定的上下文使用CABAC编码所述二进制串包含基于所述二进制串的值更新所述上下文;且进一步包括: 获得指示最后有效系数在第二视频块内的位置的第二二进制串,其中所述视频块和所述第二视频块大小不同;以及 至少部分基于所述经更新的上下文使用CABAC编码所述第二二进制串。
6.一种解码变换系数的方法,所述方法包括: 获得指示最后有效系数在与视频块相关联的变换系数块内的位置的经编码二进制串,其中所述经编码二进制串是使用上下文自适应二进制算术译码CABAC来编码; 基于视频块大小确定用于所述经编码二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及 至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串。
7.根据权利要求6所述的方法,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给所述至少两个二进制索引中的每一者:
ctx_index = (η >> log2 (T)) +15 ; 其中η为所述二进制索引,且T为所述视频块的尺寸。
8.根据权利要求6所述的方法,其中所述上下文被指派给16X16视频块的最后二进制索引和32X32视频块的最后二进制索引。
9.根据权利要求8所述的方法,其中第二上下文被指派给所述16X 16视频块的相邻二进制索引。
10.根据权利要求6所述的方法,其中至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串包含基于所述经编码二进制串的值更新所述上下文;且进一步包括: 获得指示最后有效系数在第二视频块内的位置的第二经编码二进制串,其中所述视频块和所述第二视频块大小不同;以及 至少部分基于所述经更新的上下文使用CABAC解码所述第二经编码二进制串。
11.一种经配置以编码用于视频块的变换系数的设备,所述设备包括: 用于获得指示最后有效系数在与视频块相关联的变换系数块内的位置的二进制串的装置; 用于基于视频块大小确定用于所述二进制串的二进制索引的上下文的装置,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及 用于至少部分基于所述 所确定的上下文使用上下文自适应二进制算术译码CABAC来编码所述二进制串的装置。
12.根据权利要求11所述的设备,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给所述至少两个二进制索引中的每一者:
ctx_index = (η >> 1g2 (T)) +15 ; 其中η为所述二进制索引,且T为所述视频块的尺寸。
13.根据权利要求11所述的设备,其中至少部分基于所述所确定的上下文使用CABAC编码所述二进制串包含基于所述二进制串的值更新所述上下文;且进一步包括: 用于获得指示最后有效系数在第二视频块内的位置的第二二进制串的装置,其中所述视频块和所述第二视频块大小不同;以及 用于至少部分基于所述经更新的上下文使用CABAC熵译码所述第二二进制串的装置。
14.一种经配置以解码用于视频块的变换系数的设备,所述设备包括: 用于获得指示最后有效系数在与视频块相关联的变换系数块内的位置的经编码二进制串的装置,其中所述经编码二进制串是使用上下文自适应二进制算术译码CABAC来编码; 用于基于视频块大小确定用于所述经编码二进制串的二进制索引的上下文的装置,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及 用于至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串的装置。
15.根据权利要求14所述的设备,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给所述至少两个二进制索引中的每一者:
ctx_index = (η >> log2 (T)) +15 ; 其中η为所述二进制索引,且T为所述视频块的尺寸。
16.根据权利要求14所述的设备,其中至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串包含基于所述经编码二进制串的值更新所述上下文;且进一步包括: 用于获得指示最后有效系数在第二视频块内的位置的第二经编码二进制串的装置,其中所述视频块和所述第二视频块大小不同;以及 用于至少部分基于所述经更新的上下文使用CABAC解码所述第二经编码二进制串的>j-U ρ?α装直。
17.—种包括视频编码器的装置,其经配置以:获得指示最后有效系数在与视频块相关联的变换系数块内的位置的二进制串; 基于视频块大小确定用于所述二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及 至少部分基于所述所确定的上下文使用上下文自适应二进制算术译码CABAC来编码所述二进制串。
18.根据权利要求17所述的装置,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给所述至少两个二进制索引中的每一者:
ctx_index = (η >> 1g2 (T)) +15 ; 其中η为所述二进制索引,且T为所述视频块的尺寸。
19.根据权利要求17所述的装置,其中所述上下文被指派给16X16视频块的最后二进制索引和32X32视频块的最后二进制索引。
20.根据权利要求19所述的装置,其中第二上下文被指派给所述16X 16视频块的相邻二进制索引。
21.根据权利要求17所述的装置,其中至少部分基于所述所确定的上下文使用CABAC编码所述二进制串包 含基于所述二进制串的值更新所述上下文;且其中所述视频编码器经进一步配置以: 获得指示最后有效系数在第二视频块内的位置的第二二进制串,其中所述视频块和所述第二视频块大小不同;以及 至少部分基于所述经更新的上下文使用CABAC编码所述第二二进制串。
22.一种包括视频解码器的装置,其经配置以: 获得指示最后有效系数在与视频块相关联的变换系数块内的位置的经编码二进制串,其中所述经编码二进制串是使用上下文自适应二进制算术译码CABAC来编码; 基于视频块大小确定用于所述经编码二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及 至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串。
23.根据权利要求22所述的装置,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给所述至少两个二进制索引中的每一者:
ctx_index = (η >> 1g2 (T)) +15 ; 其中η为所述二进制索引,且T为所述视频块的尺寸。
24.根据权利要求22所述的装置,其中所述上下文被指派给16X16视频块的最后二进制索引和32X32视频块的最后二进制索引。
25.根据权利要求24所述的装置,其中第二上下文被指派给所述16Χ16视频块的相邻二进制索引。
26.根据权利要求22所述的装置,其中至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串包含基于所述经编码二进制串的值更新所述上下文;且其中所述视频解码器经进一步配置以: 获得指示最后有效系数在第二视频块内的位置的第二经编码二进制串,其中所述视频块和所述第二视频块大小不同;以及 至少部分基于所述经更新的上下文使用CABAC解码所述第二经编码二进制串。
27.—种上面存储有指令的非暂时性计算机可读存储媒体,所述指令在执行时使得视频编码装置的一或多个处理器: 获得指示最后有效系数在与视频块相关联的变换系数块内的位置的二进制串; 基于视频块大小确定用于所述二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及 至少部分基于所述所确定的上下文使用上下文自适应二进制算术译码CABAC来编码所述进制串。
28.根据权利要求27所述的非暂时性计算机可读存储媒体,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给所述至少两个二进制索引中的每一者:
ctx_index = (η >> 1g2 (T)) +15 ; 其中η为所述二进制索引,且T为所述视频块的尺寸。
29.根据权利要求27所述的非暂时性计算机可读存储媒体,其中所述上下文被指派给16 X 16视频块的最后二 进制索引和32X32视频块的最后二进制索引。
30.根据权利要求29所述的非暂时性计算机可读存储媒体,其中第二上下文被指派给所述16 X 16视频块的相邻二进制索引。
31.根据权利要求27所述的非暂时性计算机可读存储媒体,其中至少部分基于所述所确定的上下文使用CABAC编码所述二进制串包含基于所述二进制串的值更新所述上下文;且其中所述指令在执行时进一步使得视频编码装置的一或多个处理器: 获得指示最后有效系数在第二视频块内的位置的第二二进制串,其中所述视频块和所述第二视频块大小不同;以及 至少部分基于所述经更新的上下文使用CABAC编码所述第二二进制串。
32.—种上面存储有指令的非暂时性计算机可读存储媒体,所述指令在执行时使得视频编码装置的一或多个处理器: 获得指示最后有效系数在与视频块相关联的变换系数块内的位置的经编码二进制串,其中所述经编码二进制串是使用上下文自适应二进制算术译码CABAC来编码; 基于视频块大小确定用于所述经编码二进制串的二进制索引的上下文,其中所述上下文被指派给至少两个二进制索引,其中所述至少两个二进制索引中的每一者与不同视频块大小相关联;以及 至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串。
33.根据权利要求32所述的非暂时性计算机可读存储媒体,其中所述上下文根据通过以下函数定义的上下文索引ctx_index被指派给所述至少两个二进制索引中的每一者:
ctx_index = (η >> 1g2 (T)) +15 ; 其中η为所述二进制索引,且T为所述视频块的尺寸。
34.根据权利要求32所述的非暂时性计算机可读存储媒体,其中所述上下文被指派给16 X 16视频块的最后二进制索引和32X32视频块的最后二进制索引。
35.根据权利要求34所述的非暂时性计算机可读存储媒体,其中第二上下文被指派给所述16 X 16视频块的相邻二进制索引。
36.根据权利要求32所述的非暂时性计算机可读存储媒体,其中至少部分基于所述所确定的上下文使用CABAC解码所述经编码二进制串包含基于所述经编码二进制串的值更新所述上下文;且其中所述指令在执行时进一步使得视频编码装置的一或多个处理器:获得指示最后有效系数在第二视频块内的位置的第二经编码二进制串,其中所述视频块和所述第二视频块大小不同;以及 至 少部分基于所述经更新的上下文使用CABAC解码所述第二经编码二进制串。
【文档编号】H04N19/00GK104025457SQ201280054851
【公开日】2014年9月3日 申请日期:2012年11月6日 优先权日:2011年11月8日
【发明者】郭立威, 钱威俊, 马尔塔·卡切维奇 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1