存储器高效的上下文建模的制作方法

文档序号:7990301阅读:244来源:国知局
存储器高效的上下文建模的制作方法
【专利摘要】在一实例中,本发明的方面涉及一种对视频数据进行译码的方法,所述方法包含确定用于视频数据块的上下文信息,其中所述块包含在视频数据的经译码单元内,其中所述块在所述经译码单元中的顶部块行下方,并且其中所述上下文信息不包含来自所述经译码单元的上方相邻块的信息。所述方法还包含使用所述确定的上下文信息对所述块的数据进行熵译码。
【专利说明】存储器高效的上下文建模
[0001]本申请案主张2011年6月3日申请的第61 / 493,361号美国临时申请案和2011年7月I日申请的第61 / 504, 153号美国临时申请案和2011年10月13日申请的第61 /546,732号美国临时申请案的优先权,这些申请案中的每一者的内容特此以全文引用的形式并入本文中。
【技术领域】
[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]总的来说,本发明描述用于对视频数据进行译码的技术。举例来说,本发明的技术包含减少在对视频数据进行熵译码时缓冲的数据量。在熵译码期间,视频译码装置可以选择上下文模型以确定待译码数据的值的概率。用于特定视频数据块的上下文模型可以是基于从相邻视频数据块抽取的上下文信息。所以,视频译码装置可以缓冲相邻视频数据块的信息,使得这些信息可供用作上下文信息。本发明的技术涉及限制在熵译码期间缓冲的来自相邻块的数据量。根据本发明的一些方面,在对当前块进行译码时,视频译码装置可以避免使用来自定位在正被译码的视频数据块上方(例如,被称作“上方相邻块”)的视频数据块作为上下文信息。
[0007]在一实例中,本发明的方面涉及一种对视频数据进行译码的方法,所述方法包含确定视频数据块的上下文信息,其中所述块包含在视频数据的经译码单元内,其中所述块位于所述经译码单元中的顶部块行下方,并且其中所述上下文信息不包含来自所述经译码单元的上方相邻块的信息。所述方法还包含使用所述确定的上下文信息对所述块的数据进行熵译码。
[0008]在另一实例中,本发明的方面涉及一种用于对视频数据进行译码的设备,其包含一个或一个以上处理器,所述一个或一个以上处理器经配置以:确定视频数据块的上下文信息,其中所述块包含在视频数据的经译码单元内,其中所述块位于所述经译码单元中的顶部块行下方,并且其中所述上下文信息不包含来自所述经译码单元的上方相邻块的信息;以及使用所述确定的上下文信息对所述块的数据进行熵译码。
[0009]在另一实例中,本发明的方面涉及一种用于对视频数据进行译码的设备,其包含:用于确定视频数据块的上下文信息的装置,其中所述块包含在视频数据的经译码单元内,其中所述块位于所述经译码单元中的顶部块行下方,并且其中所述上下文信息不包含来自所述经译码单元的上方相邻块的信息;以及用于使用所述确定的上下文信息对所述块的数据进行熵译码的装置。
[0010]在另一实例中,本发明的方面涉及一种上面存储有指令的计算机可读存储媒体,所述指令在被执行时致使一个或一个以上处理器:确定视频数据块的上下文信息,其中所述块包含在视频数据的经译码单元内,其中所述块位于所述经译码单元中的顶部块行下方,并且其中所述上下文信息不包含来自所述经译码单元的上方相邻块的信息;以及使用所述确定的上下文信息对所述块的数据进行熵译码。
[0011]本发明的一个或一个以上方面的细节在附图和以下描述中陈述。从描述和图式并从权利要求书将明白本发明中所描述的技术的其它特征、目的和优点。
【专利附图】

【附图说明】
[0012]图1是图解说明可利用本发明中描述的技术的实例视频编码和解码系统的框图。
[0013]图2是图解说明可实施本发明中描述的技术的实例视频编码器的框图。
[0014]图3是图解说明可实施本发明中描述的技术的实例视频解码器的框图。
[0015]图4A和4B是图解说明实例四叉树和对应最大译码单元(LCU)的概念图。
[0016]图5是图解说明可从其确定用于对块进行熵译码的上下文的实例相邻块的框图。
[0017]图6是图解说明可从其确定用于对块进行熵译码的上下文的实例相邻块的框图。
[0018]图7是图解说明对视频数据块进行熵译码的实例方法的流程图。
[0019]图8是图解说明对视频数据块进行熵译码的另一实例方法的流程图。
[0020]图9是图解说明对视频数据块进行熵译码的另一实例方法的流程图。
[0021]图10是图解说明对视频数据块进行熵译码的另一实例方法的流程图。【具体实施方式】
[0022]视频译码装置可以试图通过利用空间和时间冗余来压缩视频数据。举例来说,视频编码器可以通过相对于相邻的经先前译码块对块进行译码来利用空间冗余。同样,视频编码器可以通过相对于经先前译码帧对块进行译码来利用时间冗余。明确地说,视频编码器可以根据空间相邻块的数据或根据经先前译码帧的数据来预测当前块。视频编码器可以接着计算所述块的残差以作为所述块的实际像素值与所述块的预测像素值之间的差。所以,用于块的残差可包含像素(或空间)域中的逐像素差值。
[0023]视频编码器可以接着对所述残差的值应用变换,以便将像素值的能量压缩成频域中的相对较小数目的变换系数。视频编码器可以接着对变换系数进行量化。视频编码器可以扫描经量化变换系数以将经量化变换系数的二维矩阵转换成包含经量化变换系数的一维向量。在一些情况下,量化和扫描过程可以同时发生。扫描系数的过程有时被称作对系数进行串行化。
[0024]视频编码器可以接着应用熵译码过程以便对扫描系数进行熵编码。实例熵译码过程可包含(举例来说)上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAG)、概率区间分割熵(PIPE)译码或其它熵编码方法。视频编码器还可对与经编码的视频数据相关联的语法元素进行熵编码以供视频解码器在对视频数据解码的过程中使用。
[0025]关于(CABAC),视频译码器可以选择对上下文进行操作以便对与视频数据块相关联的符号进行编码的上下文模型。举例来说,上下文可以涉及对于与当前正被译码的符号相邻的符号来说值是零还是非零。
[0026]根据一些实例,可以先对视频块中的有效系数(即,非零变换系数)的位置进行编码,然后对变换系数的值(可被称为变换系数的“等级”)进行编码。对有效系数的位置进行译码的过程可被称为有效性图译码。有效性图(SM)包含指示有效系数的位置的二进制值的二维阵列。举例来说,视频数据块的SM可包含一和零的二维阵列,其中一指示有效变换系数在所述块内的位置,而零指示非有效(零值)变换系数在所述块内的位置。一和零被称作“有效系数旗标”。
[0027]在SM经过译码之后,视频译码器可以对每一有效变换系数的等级进行熵译码。举例来说,视频译码器可以将每一非零变换系数的绝对值转换成二进制的形式。以此方式,每一非零变换系数可以例如使用包括一个或一个以上位或“二进位”的一元代码而被“二进制化”。此外,可以包含多个其它二进制化的语法元素以允许视频解码器对视频数据进行解码。
[0028]视频译码器可以使用视频数据块的每一二进位的概率估计对每一二进位进行译码,无论是对应于块的变换系数还是对应于块的语法信息。概率估计可以指示具有给定二进制值(例如,“O”或“I”)的二进位的可能性。概率估计可以包含在概率模型(也称作“上下文模型”)内。视频译码器可以通过确定二进位的上下文来选择上下文模型。语法元素的二进位的上下文可包含经先前译码的相邻语法元素的相关二进位的值。在一些实例中,用于对当前语法元素进行译码的上下文可包含位于当前语法元素左上方的相邻语法元素。在任何情况下,针对每一上下文定义不同的概率模型。在对二进位进行译码之后,进一步基于二进位的值来更新上下文模型,以便反映最当前的概率估计。[0029]在一些实例中,可以使用4X4像素那么小的视频数据块对图片进行译码。举例来说,1920X1080像素帧(例如,针对1080p视频)可包含多达495块的4X4像素。所以,针对每个块的待存储的上下文信息的位,视频译码器可以缓冲495位的信息。此外,在一些实例中,可以使用一个以上信息位作为上下文对特定语法元素进行译码,这可以大大提高为了熵译码而缓冲的数据量。
[0030]本发明的技术一般涉及限制在熵译码期间缓冲的来自相邻块的数据量。举例来说,并非在对当前块进行译码时使用上方相邻块的数据作为上下文信息,而是在一些实例中,视频译码装置可以基于正被译码的语法元素或块的特性来确定上下文。在其它实例中,视频译码装置可以在对当前块进行译码时基于来自左相邻块的数据确定上下文。在另外其它实例中,视频译码装置可以基于来自上方相邻块的数据确定上下文,但是只在当前块是较大分区的子块(例如,在新兴的高效率视频译码(HEVC)标准中称为最大译码单元(LCU),如下文中更详细描述)的时候。
[0031]根据本发明的技术,限制所缓冲的数据量可以减少与对视频数据进行译码相关联的复杂度。举例来说,根据本发明的方面的熵译码可以允许视频译码装置缓冲更少的数据,从而减少与这种缓冲相关联的存储器要求。
[0032]此外,减少从其导出上下文的位置可以改善熵译码效率和/或处理量。举例来说,可以实施本发明的技术以改善解析处理量。也就是说,当视频译码器接收到视频数据时,可以根据特定解析过程(例如,波前解析)对视频数据进行解析或读取和分段。在一些实例中,解析过程可包含在解析一个或一个以上初始IXU(例如,切片中的最上和/或最左的LCU)之后解析切片的每一 LCU。解析LCU可以允许视频译码器形成多个处理线程(例如,针对并行处理),其中每一线程包含经解析IXU中的一者或一者以上。
[0033]然而,归因于上下文模型相依性,某些线程可以取决于其它线程,这对于并行处理应用来说可能不是最优的。举例来说,第一线程可能取决于通过第二不同线程处理的数据,这可能导致第一线程一直等到第二线程已经处理了所述数据为止。也就是说,一般将数据解析到数据是有用时,且接着对数据进行译码。在常规波前的情况下,视频译码器可以缓慢地对第一(例如,顶部)波前的数据进行译码。这又可能导致接下来的线程停止,这会导致接下来的线程停止,依此类推。根据本发明的方面,通过消除上下文相依性,一个线程减缓将不会影响其它正在处理的线程。关于解析,这意味着线程的解析器不需要参考其它线程,而是可以针对每一线程独立操作。
[0034]在用于说明的实例中,假设当前正被译码的LCU位于顶部切片行下方,其中切片的一个或一个以上LCU位于当前切片上方。在此实例中,用于对当前LCU进行译码的上下文可以包含在上部相邻IXU(例如,位于当前IXU上方的IXU)中。也就是说,用于对当前IXU进行译码的上下文可以取决于上部相邻LCU的一个或一个以上值。所以,当前LCU可能必须等待上部相邻LCU译码,之后才可对当前LCU进行译码。引入这个等待时间可能使译码过程变慢,尤其是在并行处理应用中。
[0035]可以实施本发明的方面以限制从其导出上下文的位置。也就是说,根据本发明的一些方面,视频译码器可以不使用来自某些相邻块的上下文信息,而是替代地从其它源获取上下文信息。所以,本发明的技术可以消除上文所论述的上下文相依性并且改善解析处理量。[0036]此外,在某些情况下,在当前正被译码的块包含取决于另一相邻块的上下文信息时,如果来自相邻块的信息丢失或以其它方式不可使用(例如,归因于发射错误或其它错误),那么当前块可能不被译码。在出于说明的目的的实例中,可使用合并译码模式来预测当前块(例如,针对当前块采用与另一块相关联的预测信息)。如果当前块的参考帧存在错误(例如,包损失),那么当前块的帧问预测方向可能无法正确地导出。此外,取决于相邻块(具有错误)的上下文也可能遭到破坏。本发明的技术可以消除上文所论述的上下文相依性以减少上下文导出错误的引入。
[0037]图1是图解说明可利用用于对视频数据进行熵译码的技术的实例视频编码和解码系统10的框图。如图1中所示,系统10包含源装置12,源装置12提供稍后将由目的地装置14解码的经编码的视频数据。明确地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12和目的地装置14可包括多种多样的装置中的任一者,包含桌上型计算机、笔记本型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”电话)、所谓的“智能”平板电脑、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频串流装置或类似者。在一些情况下,源装置12和目的地装置14可能经装备以用于无线通信。
[0038]目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括使得源装置12能够实时将经编码视频数据直接发射到目的地装置14的通信媒体。经编码视频数据可以根据通信标准(例如无线通信协议)进行调制,并且被发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一个或一个以上物理传输线。通信媒体可能形成基于包的网络(例如局域网、广域网或全球网络(例如因特网))的一部分。通信媒体可包含路由器、交换器、基站或任何其它可以用于促进从源装置12到目的地装置14的通信的设备。
[0039]在一些实例中,经编码数据可以从输出接口 22输出到存储装置。类似地,可以通过输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它用于存储经编码视频数据的合适的数字存储媒体。在另一实例中,存储装置可以对应于文件服务器或可存储由源装置12产生的经编码视频的另一中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取经存储的视频数据。文件服务器可以是任何类型的能够存储经编码视频数据并且将经编码视频数据发射到目的地装置14的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络附接存储(NAS)装置或本地磁盘驱动器。目的地装置14可以通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。这可包含无线信道(例如,W1-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或适合于存取存储于文件服务器上的经编码视频数据的以上两者的组合。经编码视频数据从存储装置的发射可能是流式传输、下载传输或以上两者的组合。
[0040]本发明可能一般涉及视频编码器20向另一装置(例如视频解码器30)“发信号通知”某些信息。但是,应理解,视频编码器20可以通过使某些语法元素与视频数据的各种经编码部分相关联来发信号通知信息。也就是说,视频编码器20可以通过将某些语法元素存储到视频数据的各种经编码部分的标头来“发信号通知”数据。在一些情况下,此些语法元素可能在被视频解码器30接收和解码之前被编码和存储(例如,存储到存储媒体34或文件服务器36)。因而,术语“发信号通知”可能一般指代用于解码经压缩的视频数据的语法或其它数据的通信,不论所述通信是实时或准实时发生还是在一段时间内发生,例如可能在编码时将语法元素存储到媒体时发生,其接着可以在存储到这个媒体之后的任何时间由解码装置检索。
[0041]本发明的技术一般涉及对数据进行熵译码,本发明的技术不一定限于无线应用或环境。所述技术可以应用于视频译码以支持多种多媒体应用中的任一者,例如空中电视广播、有线电视传输、卫星电视传输、因特网串流视频传输(例如动态自适应HTTP流式传输(DASH))、经编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
[0042]在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口 22。目的地装置14包含输入接口 28、视频解码器30和显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用所述技术对运动向量进行译码,且用于执行HEVC和其扩展(例如多视图或3DV扩展)中的双向预测。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可以从外部视频源18(例如外部相机)接收视频数据。同样,目的地装置14可以与外部显示装置介接,而非包含集成式显示装置。
[0043]图1的图解说明的系统10只是一个实例。可以由任何数字视频编码和/或解码装置来执行用于对视频数据进行熵译码的技术。尽管本发明的技术一般是由视频编码装置来执行,但是所述技术还可由视频编码器/解码器(通常被称作“编解码器”)执行。此夕卜,本发明的技术还可由视频预处理器执行。源装置12和目的装置14仅是这些译码装置的实例,其中源装置12产生用于发射到目的装置14的经译码的视频数据。在一些实例中,装置12、14可以大体上对称的方式操作以使得装置12、14中的每一者包含视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射,例如用于视频流式传输、视频回放、视频广播或视频电话。
[0044]源装置12的视频源18可包含视频俘获装置,例如摄像机、含有先前所俘获视频的视频档案和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或直播视频(live video)、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18是摄像机,那么源装置12和目的装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,可由视频编码器20来编码经俘获的、经预先俘获的或计算机产生的视频。经编码视频信息可接着通过输出接口 22输出到计算机可读媒体16上。
[0045]计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络发射,或存储媒体(也就是说,非暂时性存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可以从源装置12接收经编码视频数据,并且例如经由网络发射将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如光盘冲压设施)的计算装置可以从源装置12接收经编码视频数据并且生产容纳经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可以理解为各种形式的一个或一个以上计算机可读媒体。
[0046]目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含通过视频编码器20定义的语法信息,所述语法信息还由视频解码器30使用,所述语法信息包含描述块和其它经译码单元(例如G0P)的特性和/或处理的语法元素。明确地说,本发明的“经译码单元”是指包含多个块(例如切片、图片、波前集合或瓦片)的数据单元。因而,术语“经译码单元”应理解为包含多个块,例如多个最大译码单元(IXU)。此外,术语“经译码单元”不应与HEVC中使用的术语“译码单元”或⑶混淆。显示装置32向用户显示经解码的视频数据,且可包括多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子体显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
[0047]视频编码器20和视频解码器30可以根据一种视频译码标准(例如目前正在开发的高效率视频译码(HEVC)标准)来操作,并且可以符合HEVC测试模型(HM)。或者,视频编码器20和视频解码器30可以根据其它专有或业界标准来操作,所述标准例如是ITU-TH.264标准,也被称为MPEG-4,第10部分,高级视频译码(AVC),或此类标准的扩展。然而,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2和ITU-TH.263。尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的MUX-DEMUX单元或其它硬件和软件,以处置对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,MUX-DEMUX单元可符合ITUH.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
[0048]ITU-T H.264 / MPEG-4(AVC)标准是由 ITU-T视频译码专家组(VCEG)连同 ISO /IEC运动图片专家组(MPEG)制定以作为被称为联合视频小组(JVT)的集体伙伴关系的产品。在一些方面中,本发明中所描述的技术可应用于通常符合H.264标准的装置。ITU-T研究组在2005年3月在ITU-T推荐H.264 “用于通用视听服务的高级视频译码(AdvancedVideo Coding for generic audiovisual services) ”中描述了 H.264标准,其在本文中可被称作H.264标准或H.264规范或H.264 / AVC标准或规范。联合视频组(JVT)不断致力于 H.264 / MPEG-4AVC 的扩展。
[0049]JCT-VC正在努力开发HEVC标准。所述HEVC标准化工作是基于被称作HEVC测试模型(腿)的视频译码装置的演进模型。HM根据例如ITU-T H.264 / AVC假设视频译码装置相对于现存装置的若干额外能力。举例来说,虽然H.264提供了九种帧内预测编码模式,但是HM可提供多达三十三种帧内预测编码模式。
[0050]总的来说,HM的工作模型描述视频帧或图片可以被划分为包含明度和色度样本两者的一连串树块或最大译码单元(LCU)。位流内的语法数据可以界定LCU(其是在像素数目方面的最大译码单元)的大小。切片包含在译码次序中的多个连续树块。视频帧或图片可以被分割成一个或一个以上切片。每一树块可以根据四叉树分裂成译码单元(CU)。总的来说,四叉树数据结构包含每个CU —个节点,其中根节点对应于所述树块。如果一个CU分裂成四个子CU,那么对应于CU的节点包含四个叶节点,其中的每一者对应于所述子CU中的一者。
[0051]四叉树数据结构的每一节点可以提供对应CU的语法数据。举例来说,四叉树中的节点可包含分裂旗标,分裂旗标指示对应于所述节点的所述CU是否分裂成子CU。可以递归地定义CU的语法元素,且其可以取决于所述CU是否分裂成子CU。如果CU不进一步分裂,那么将其称为叶CU。在本发明中,叶CU的四个子CU也将被称作叶CU,即使不存在原始叶CU的明确分裂时也是如此。举例来说,如果16 X 16大小的CU不进一步分裂,那么四个
8X 8子⑶将也被称作叶⑶,虽然所述16 X 16⑶从未分裂。
[0052]⑶具有类似于H.264标准的宏块的目的,但是⑶并不具有大小区别。举例来说,树块可以分裂成四个子节点(还称为子CU),并且每一子节点又可以是父节点并且可以分裂成另外四个子节点。最终的未分裂子节点(被称作四叉树的叶节点)包括译码节点,还称为叶CU。与经译码位流相关联的语法数据可以界定树块可以分裂的最大次数,被称作最大CU深度,并且还可界定译码节点的最小大小。所以,位流还可界定最小译码单元(SCU)。本发明使用术语“块”来指代HEVC的上下文中的CU、PU或TU中的任一者,或者其它标准的上下文中的类似数据结构(例如,其在H.264 / AVC中的宏块和子块)。此外,本发明可以使用术语“经译码单元”来描述视频数据的预定义数量,其可包含两个或两个以上视频数据块。也就是说,举例来说,经译码单元可以指代图片、切片、瓦片或瓦片集合、波前集合或任何其它包含视频数据的预定义单元。所以,术语“经译码单元”不应与术语“译码单元”或CU混淆。
[0053]CU包含译码节点和与所述译码节点相关联的预测单元(PU)和变换单元(TU)。CU的大小对应于译码节点的大小并且形状必须是正方形。CU的大小的范围可以从8X8像素到具有最大64X64像素或更大的树块的大小。每一⑶可以含有一个或一个以上PU和一个或一个以上TU。举例来说,与CU相关联的语法数据可描述将CU分割成一个或一个以上PU。分割模式可以在CU是被跳过还是经直接模式编码、经帧内预测模式编码还是经帧问预测模式编码之间不同。PU可以被分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述根据四叉树将⑶分割成一个或一个以上TU。TU可以是正方形或非正方形(例如,矩形)形状。
[0054]HEVC标准允许根据TU的变换,TU可以针对不同⑶而有所不同。TU的大小通常是基于针对经分割LCU定义的给定CU内的PU的大小而确定,但是情况可能并不总是如此。TU通常与PU大小相同或小于W。在一些实例中,可以使用一种被称为“残余四叉树”(RQT)的四叉树结构将对应于CU残余样本细分成更小的单元。RQT的叶节点可被称为变换单元(TU)。可以变换与TU相关联的像素差值以产生变换系数,所述变换系数可以经量化。
[0055]叶⑶可包含一个或一个以上预测单元(PU)。总的来说,I3U表示对应于对应⑶的全部或一部分的空间区域,并且可包含用于检索PU的参考样本的数据。此外,包含与预测有关的数据。举例来说,当PU经帧内模式编码时,用于的数据可以包含在残余四叉树(RQT)中,残余四叉树可包含描述用于对应于的TU的帧内预测模式的数据。作为另一实例,当PU经帧问模式编码时,PU可包含界定PU的一个或一个以上运动向量的数据。举例来说,定义PU的运动向量的数据可以描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片和/或运动向量的参考图片列表(例如,列表O、列表I或列表C)。
[0056]具有一个或一个以上I3U的叶⑶还可包含一个或一个以上变换单元(TU)。变换单元可以使用RQT(还称为TU四叉树结构)来指定,如上文所论述。举例来说,分裂旗标可以指示叶CU是否分裂成四个变换单元。接着,每一变换单元可以进一步分裂成进一步的子TU0当TU不进一步分裂时,其可被称为叶TU。一般来说,对于帧内译码,所有属于一个叶CU的叶TU共用相同的帧内预测模式。也就是说,一般应用相同的帧内预测模式来计算叶CU的所有TU的预测值。对于帧内译码,视频编码器20可以使用帧内预测模式针对每一叶TU计算残差值,以作为CU的对应于TU的部分与原始块之间的差。TU不必限于I3U的大小。因而,TU可比PU大或小。对于帧内译码,I3U可以与相同⑶的对应叶TU并置。在一些实例中,叶TU的最大大小可以对应于对应叶CU的大小。
[0057]此外,叶⑶的TU还可与相应四叉树数据结构(被称作残余四叉树(RQT))相关联。也就是说,叶⑶可包含指示叶⑶如何被分割成TU的四叉树。TU四叉树的根节点一般对应于叶CU,而CU四叉树的根节点一般对应于树块(或LCU)。未分裂的RQT的TU被称作叶TU0总的来说,本发明分别使用术语CU和TU来指代叶CU和叶TU,除非另有注释。
[0058]视频序列通常包含一系列视频帧或图片。图片群组(GOP) —般包括一系列一个或一个以上视频图片。GOP可包含GOP的标头、图片中的一者或一者以上的标头或其它地方中的语法数据,所述语法数据描述GOP中包含的图片的数目。图片的每一切片可包含切片语法数据,所述切片语法数据描述用于相应切片的编码模式。视频编码器20通常对个别视频切片内的视频块进行操作以便对视频数据进行编码。视频块可以对应于CU内的译码节点。视频块可以具有固定或不同的大小,并且根据指定的译码标准可以有不同大小。
[0059]作为一实例,HM支持各种I3U大小的预测。假定特定⑶的大小是2NX2N,那么HM支持2NX 2N或NX N的PU大小的帧内预测,和2NX 2N、2NX N、NX 2N或NX N的对称I3U大小的帧问预测。HM还支持用于2N X nU、2N X nD、nL X 2N和nR X 2N的PU大小的帧问预测的不对称分割。在不对称分割中,CU的一个方向被不分割,但是另一方向被分割成25%和75%。⑶的对应于25%分区的部分通过“η”和紧接的“上方”、“下方”、“左”或“右”来指示。因而,举例来说,“2NXnU”是指水平地分割的2ΝΧ2Ν⑶,其中2NX0.5N I3U在顶部,且2NX1.5N PU 在底部。
[0060]在本发明中,“NXN”和“N乘N”可以互换地使用来指代在垂直和水平尺寸方面的视频块的像素尺寸,例如,16X16像素或16乘16像素。总的来说,16X16块将在垂直方向上具有16个像素(y=16),并且在水平方向上具有16个像素(x=16)。同样,NXN块一般在垂直方向上具有N个像素,并且在水平方向上具有N个像素,其中N表示非负整数值。一块中的像素可布置在若干行和若干列中。此外,块不一定需要在水平方向与垂直方向上具有相同数目的像素。举例来说,块可包括NXM像素,其中M不一定等于N。
[0061]在使用CU的PU的帧内预测性或帧问预测性译码之后,视频编码器20可以计算⑶的TU的残余数据。可包括描述在空间域(还称为像素域)中产生预测性像素数据的方法或模式的语法数据,并且TU可包括在对残余视频数据应用了变换(例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)之后在变换域中的系数。所述残余数据可以对应于未编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可以形成包含用于CU的残余数据的TU,并且接着变换TU以产生用于CU的变换系数。
[0062]在用于产生变换系数的任何变换之后,视频编码器20可以执行变换系数的量化。量化一般是指其中变换系数经量化以可能减少用于表示系数的数据量从而提供进一步压缩的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,η位值可在量化期间被下舍入成m位值,其中η大于m。
[0063]在量化之后,视频编码器可以扫描变换系数,从包含经量化变换系数的二维矩阵产生一维向量。扫描可以经过设计以将较高能量(并且因此较低频率)的系数放置在阵列正面,并且将较低能量(并且因此较高频率)的系数放置在阵列的背面。在一些实例中,视频编码器20可以利用预定义扫描次序来扫描经量化变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可以执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可以例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法对一维向量进行熵编码。视频编码器还20可对与经编码视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据解码的过程中使用。
[0064]为了执行CABAC,视频编码器20可以向待发射的符号指派上下文模型内的上下文。举例来说,所述上下文可以涉及符号的相邻值是否为非零。视频编码器20还可对语法元素进行熵编码,例如在执行自适应扫描时产生的有效系数旗标和最后系数旗标。
[0065]总的来说,视频解码器30执行的视频解码过程可包含与视频编码器20执行的编码技术互逆的技术。虽然一般是互逆的,但是在一些情况下视频解码器30可以执行类似于视频编码器20执行的技术的技术。视频解码器30还可依赖于接收到的位流中包含的语法元素或其它数据,包含关于视频编码器20所描述的数据。
[0066]根据本发明的方面,视频编码器20和/或视频解码器30可以实施本发明的技术来限制在熵译码期间缓冲的来自相邻块的数据量。举例来说,并非在对当前块进行译码时使用上方相邻块的数据作为上下文信息,而是在一些实例中,视频编码器20和/或视频解码器30可以基于正被译码的语法元素或块的特性来确定上下文。在其它实例中,视频编码器20和/或视频解码器30可以在对当前块进行译码时基于来自左相邻块的数据确定上下文。在另外其它实例中,视频编码器20和/或视频解码器30可以基于来自上方相邻块的数据确定上下文,但是仅在当前块是较大分区(例如,LCU)的子块时。此外,在一些情况下,视频编码器20和/或视频解码器30可以组合地执行本发明的一个或一个以上技术。
[0067]在适用时,视频编码器20和视频解码器30各自可以实施为多种合适的编码器或解码器电路中的任一者,例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑电路、软件、硬件、固件或其任何组合。视频编码器20和视频解码器30中的每一者可以包含在一个或一个以上编码器或解码器中,其任一者均可以集成为组合式视频编码器/解码器(编解码器)的一部分。包含视频编码器20和/或视频解码器30的装置可包括集成电路、微处理器和/或无线通信装置,例如蜂窝式电话。
[0068]图2是图解说明可以实施如本发明中所描述的用于对视频数据进行熵译码的技术的实例视频编码器20的框图。视频编码器20可以对视频切片内的视频块执行帧内和帧问译码。帧内译码依赖于空间预测来减少或移除给定视频帧或图片内的视频中的空间冗余。帧问译码依赖于时间预测来减少或移除视频序列的邻接帧或图片内的视频中的时间冗余。帧内模式(I模式)可以指若干基于空间的压缩模式中的任一者。例如单向预测(P模式)或双向预测(B模式)等帧问模式可以指代若干基于时间的压缩模式中的任一者。[0069]如图2中所示,视频编码器20接收待编码的视频数据。在图2的实例中,视频编码器20包含模式选择单元40、求和器50、变换单元52、量化单元54、熵编码单元56和参考图片存储器64。模式选择单元40又包含运动估计单元42、运动补偿单元44、帧内预测单元46和分割单元48。对于视频块重建,视频编码器20还包含逆量化单元58、逆变换单元60和求和器62。还可包含解块滤波器(图2中未图示)以对块边界进行滤波,以从经重建视频移除成块假影。在需要时,解块滤波器通常将对求和器62的输出进行滤波。除了解块滤波器之外,还可使用额外的环路滤波器(环路内或环路后)。为简洁起见未展示此些滤波器,但在需要时,此些滤波器可以对求和器50的输出进行滤波(作为环路内滤波器)。
[0070]在编码过程期间,视频编码器20接收待译码的视频帧或切片。所述帧或切片可以被划分成多个视频块。运动估计单元42和运动补偿单元44相对于一个或一个以上参考帧中的一个或一个以上块执行对所接收的视频块的帧问预测译码以提供时间压缩。帧内预测单元46可替代地相对于与待译码块相同的帧或切片中的一个或一个以上相邻块执行对所接收的视频块的帧内预测译码以提供空间压缩。视频编码器20可以执行多个译码回合,例如,从而为每一视频数据块选择一种适当的译码模式。
[0071]此外,分割单元48可以基于先前的译码回合中的先前分割方案的评估而将视频数据块分割成子块。举例来说,分割单元48可以起初将帧或切片分割成LCU,并且基于速率失真分析(例如,速率失真优化)将LCU中的每一者分割成子CU。模式选择单元40可以进一步产生指示将LCU分割成子CU的四叉树数据结构。四叉树的叶节点CU可包含一个或一个以上I3U和一个或一个以上TU。
[0072]模式选择单元40可以基于错误结果选择译码模式中的一者(帧内或帧问),并且将所得的经帧内译码或经帧问译码块提供到求和器50以产生残余块数据,并且提供到求和器62以重建经编码块以用于用作参考帧。模式选择单元40还将语法元素(例如运动向量、帧内模式指示符、分割信息和其它此类语法信息)提供到熵编码单元56。
[0073]运动估计单元42和运动补偿单元44可以高度集成,但出于概念目的分开进行图解说明。运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可以指示当前视频帧或图片内的视频块的I3U相对于参考帧(或其它经译码单元)内的相对于当前帧(或其它经译码单元)内正被译码的当前块的预测块的移位。
[0074]预测块是被发现在像素差异方面密切地匹配待译码的块的块,其可通过绝对差总和(SAD)、平方差总和(SSD)或其它差异量度来确定。在一些实例中,视频编码器20可以计算存储在参考帧存储器64中的参考图片的子整数像素位置的值。举例来说,视频编码器20可内插四分之一像素位置、八分之一像素位置或参考图片的其它分数像素位置的值。因此,运动估计单元42可以相对于全像素位置和分数像素位置执行运动搜索并且输出具有分数像素精确度的运动向量。
[0075]运动估计单元42通过比较PU的位置与参考图片的预测块的位置来计算用于经帧问译码切片中的视频块的PU的运动向量。参考图片可以选自第一参考图片列表(列表O)或第二参考图片列表(列表I),其中的每一者识别存储在参考巾贞存储器64中的一个或一个以上参考图片。运动估计单元42将计算出的运动向量发送到熵编码单元56和运动补偿单元44。[0076]运动补偿单元44执行的运动补偿可以包括基于运动估计单元42确定的运动向量来获取或产生预测块。同样,在一些实例中,运动估计单元42与运动补偿单元44可以在功能上集成。在接收到当前视频块的PU的运动向量后,运动补偿单元44可以即刻在参考图片列表中的一者中定位所述运动向量指向的预测块。求和器50通过从正被译码的当前视频块的像素值减去预测块的像素值从而形成像素差值来形成残余视频块,如下文所论述。总的来说,运动估计单元42相对于明度分量执行运动估计,并且运动补偿单元44针对色度分量和明度分量两者使用基于明度分量计算的运动向量。模式选择单元40还可产生与视频块和视频切片相关联的语法元素以供视频解码器30在对视频切片的视频块进行解码的过程中使用。
[0077]作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧问预测的替代方案,帧内预测单元46可以对当前块进行帧内预测。明确地说,帧内预测单元46可以确定用来对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元46可以例如在单独的编码回合期间使用各种帧内预测模式对当前块进行编码,并且帧内预测单元46 (或在一些实例中为模式选择单元40)可以从所述测试模式中选择适当的帧内预测模式来使用。
[0078]举例来说,帧内预测单元46可以使用速率失真分析计算用于各种经测试帧内预测模式的速率失真值,并且从所述经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析一般确定经编码块与经编码以产生所述经编码块的原始未编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测单元46可以根据用于各种经编码块的失真和速率来计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率失真值。
[0079]视频编码器20通过从经译码原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行此减法运算的组件。变换处理单元52将例如离散余弦变换(DCT)或概念上类似的变换等变换应用于残余块,从而产生包括残余变换系数值的视频块。变换处理单元52可以执行概念上类似于DCT的其它变换。还可使用小波变换、整数变换、子带变换或其它类型的变换。在任何情况下,变换处理单元52向残余块应用所述变换,从而产生残余变换系数的块。所述变换可将残余信息从像素值域转换到变换域(例如,频域)。
[0080]变换处理单元52可将所得的变换系数发送到量化单元54。量化单元54对变换系数进行量化以进一步降低位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。在一些实例中,量化单元54可以接着执行对包含经量化变换系数的矩阵的扫描。或者,熵编码单元56可以执行所述扫描。
[0081]在量化之后,熵编码单元56对经量化的变换系数进行熵译码。举例来说,熵编码单元56可以执行上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵译码技术。在基于上下文的熵译码的情况下,上下文可以基于相邻块。
[0082]关于CABAC,熵编码单元56可以选择对上下文进行操作以对与视频数据块相关联的符号进行编码的上下文模型。举例来说,熵编码单元56可以使用视频数据块的每一语法元素的概率估计对每一语法元素进行熵编码。概率估计可以指示元素具有给定值的可能性。概率估计可以包含在概率模型(也称作上下文模型)内。熵编码单元56可以通过确定所述语法元素的上下文信息(或,更简单地,“上下文”)来选择上下文模型。针对每一上下文定义不同的概率模型。在对语法元素进行译码之后,熵编码单元56可以基于语法元素的实际值更新选定的上下文模型以反映最当前的概率估计。也就是说,举例来说,熵编码单元56可以更新选择上下文模型的方式以便转变到新的上下文模型。
[0083]在一些实例中,用于特定语法元素的上下文可包含经先前译码的相邻语法元素的相关语法元素的值。举例来说,熵编码单元56可以基于位于当前语法元素的顶部和左侧的相邻语法元素来确定用于对当前语法元素进行译码的上下文。如上文所示,新兴的HEVC标准允许将IXU递归地分割成4X4像素那么小的子⑶。所以,1920X 1080像素图片(例如,用于IOSOp视频)可包含线缓冲器中的水平地跨越图片延伸的多达495个4X4像素块。如果视频编码器20对每块的上下文信息位进行缓冲,则视频编码器20可以对495个信息位进行缓冲。
[0084]根据本发明的技术,熵编码单元56可以用减少或消除视频编码器20缓冲的信息量的方式确定用于对视频数据进行熵译码的上下文。举例来说,根据本发明的方面,当对与当前块(例如,不在例如帧或切片等经译码单元的顶部行处的块)相关联的语法元素进行编码时并非使用上方相邻块的数据作为上下文,而是熵编码单元56可以仅使用来自左相邻块的数据。
[0085]作为另一实例,熵编码单元56可以使用来自上方相邻块的数据作为用于对与当前块相关联的语法元素进行编码的上下文,但是仅在当前块是经分割最大译码单元(LCU)的子⑶并且上方相邻块在相同IXU内的时候。换句话说,熵编码单元56可经配置以避免使用跨越顶部LCU边界的上下文信息。
[0086]作为又一实例,熵编码单元56可以基于局部LCU信息而导出用于对与当前块相关联的语法元素进行编码的上下文。举例来说,熵编码单元56可以基于CU深度而导出用于经帧问预测数据的上下文信息,CU深度一般对应于LCU已被分割以达到CU的次数。在出于解释的目的实例中,假设IXU的大小是64 X 64像素(深度为零)。IXU的子⑶的大小在⑶深度为一时可以是32X32像素,而子⑶的进一步子⑶的大小在⑶深度为二时可以是16X16像素。
[0087]根据本发明的技术,熵编码单元56可以基于当前块的CU深度来确定用于当前块的经帧问预测数据的上下文。也就是说,举例来说,CU深度一可以对应于与CU深度二不同的概率模型。换句话说,当对特定CU深度的CU的语法元素进行译码时,熵编码单元56可以使用CU深度作为用于选择概率模型对语法元素进行译码的上下文信息。
[0088]作为另一实例,熵编码单元56可以基于变换深度信息而导出用于经帧内预测数据的上下文信息。变换深度信息可以类似于CU深度,但描述TU被分割(例如,根据RQT结构进行分割)的次数。所以,举例来说,TU深度一可以对应于与TU深度二不同的概率模型。换句话说,当对特定TU深度的TU的语法元素进行译码时,熵编码单元56可以使用TU深度作为用于选择概率模型对语法元素进行译码的上下文信息。
[0089]在熵编码单元56进行的熵译码之后,可以将经编码位流发射到另一装置(例如视频解码器30),或者将所述视频存档以用于以后发射或检索。逆量化单元58和逆变换单元60分别应用逆量化和逆变换,以重建像素域中的残余块,(例如)以用于稍后用作参考块。运动补偿单元44可以通过将残余块添加到参考帧存储器64的帧中的一者的预测块来计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重建的残余块以计算子整数像素值来用于运动估计。求和器62将经重建的残余块添加到由运动补偿单元44产生的运动补偿预测块以产生经重建视频块,以供存储在参考帧存储器64中。经重建的视频块可由运动估计单元42和运动补偿单元44用作用于对后续视频帧中的块进行帧问译码的参考块。
[0090]以此方式,视频编码器20是可以执行包含确定视频数据块的上下文信息的方法的视频译码器的实例,其中所述块包含在视频数据的经译码单元内,其中所述块位于所述经译码单元中的顶部块行下方,并且其中所述上下文信息不包含来自所述经译码单元的上方相邻块的信息。所述方法还可包含使用确定的上下文信息对所述块的数据进行熵编码。
[0091]图3是图解说明可以实施如本发明中所描述的用于对视频数据进行熵译码的技术的实例视频解码器30的框图。在图3的实例中,视频解码器30包含熵解码单元80、预测单元81、逆量化单元86、逆变换单元88、求和器90和参考图片存储器92。预测单元81包含运动补偿单元82和帧内预测单元84。
[0092]在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块和相关联语法元素的经编码视频位流。视频解码器30的熵解码单元80对位流进行熵解码以产生经量化系数、运动向量和其它语法元素。
[0093]视频解码器30可以接收视频切片等级和/或视频块等级下的语法元素。举例来说,借助于背景,视频解码器30可以接收经压缩视频数据,所述数据已被压缩成所谓的“网络抽象层单元”或NAL单元以供经由网络发射。每一 NAL单元可包含标头,其识别存储到NAL单元的数据的类型。存在一般存储到NAL单元的两种类型的数据。存储到NAL单元的第一类型的数据是视频译码层(VCL)数据,所述数据包含经压缩视频数据。存储到NAL单元的第二类型的数据被称作非VCL数据,所述数据包含例如参数集等额外信息,其界定大量NAL单元共用的标头数据和辅助增强信息(SEI)。举例来说,参数集可以含有序列等级标头信息(例如,在序列参数集(SPS)中)和不频繁改变的图片等级标头信息(例如,在图片参数集(PPS)中)。参数集中含有的不频繁改变的信息不需要针对每一序列或图片重复,由此改善译码效率。此外,使用参数集实现标头信息的带外发射,由此不再需要进行冗余发射以便进行错误恢复。
[0094]熵解码单元80可以用类似于熵编码单元56的方式配置,如上文关于图2的视频编码器20所描述。举例来说,熵译码单元80可以选择对上下文进行操作以对与视频数据块相关联的符号进行解码的上下文模型。也就是说,熵译码单元80可以使用视频数据块的每一语法元素的概率估计对每一语法元素进行熵译码。根据本发明的技术,熵译码单元80可以用减少或消除视频解码器30缓冲的信息量的方式确定用于对视频数据进行熵译码的上下文。举例来说,根据本发明的方面,当对与当前块(例如,不在例如帧或切片等经译码单元的顶部行处的块)相关联的语法元素进行编码时并非使用上方相邻块的数据作为上下文,而是熵译码单元80可以仅使用来自左相邻块的数据。
[0095]作为另一实例,熵译码单元80可以使用来自上方相邻块的数据作为用于对与当前块相关联的语法元素进行解码的上下文,但是仅在当前块是经分割最大译码单元(LCU)的子⑶并且上方相邻块在相同IXU内的时候。换句话说,熵译码单元80可经配置以避免使用跨越顶部LCU边界的上下文信息。作为又一实例,熵译码单元80可以基于局部LCU信息(例如,CU深度、TU深度或类似者)导出用于对与当前块相关联的语法元素进行解码的上下文。在另一实例中,熵译码单元80可以使用基于元素本身对某些语法元素进行解码的单一上下文。在一些情况下,熵译码单元80可以使用这些技术的组合来确定上下文。在确定了用于对特定语法元素进行解码的上下文之后,熵译码单元80可以选择对应于所述上下文的概率模型,并且使用所述选定概率模型对语法元素进行解码。
[0096]熵解码单元80将运动向量和其它经解码语法元素转发到预测单元81。当视频切片经译码为经帧内译码(I)切片时,预测单元81的帧内预测单元84可以基于发信号通知的帧内预测模式和来自当前帧或图片的先前经解码块的数据而产生用于当前视频切片的视频块的预测数据。当视频帧经译码为经帧问译码(即,B、P或GPB)切片时,预测单元81的运动补偿单元82基于从熵解码单元80接收到的运动向量和其它语法元素而产生用于当前视频切片的视频块的预测块。预测块可以从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可以基于存储在参考图片存储器92中的参考图片使用默认建构技术建构参考帧列表——列表O和列表I。
[0097]运动补偿单元82通过解析运动向量和其它语法元素来确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于正被解码的当前视频块的预测块。举例来说,运动补偿单元82使用一些接收到的语法元素来确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧问预测)、帧问预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一者或一者以上的建构信息、切片的每一经帧问编码的视频块的运动向量、切片的每一经帧问译码的视频块的帧问预测状态和用以对当前视频切片中的视频块进行解码的其它信息。
[0098]运动补偿单元82还可基于内插滤波器执行内插。运动补偿单元82可使用由视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。在这种情况下,运动补偿单元82可根据所接收的语法信息元素而确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测块。
[0099]逆量化单元86将在位流中提供且由熵解码单元80解码的经量化变换系数逆量化,即解量化。逆量化过程可包含使用量化参数,所述量化参数由视频编码器20针对视频切片中的每一视频块进行计算以确定应应用的量化程度和同样的逆量化程度。
[0100]逆变换单元88对变换系数应用逆变换,例如逆DCT、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残余块。根据本发明的方面,逆变换单元88可以确定对残余数据应用变换的方式。也就是说,举例来说,逆变换单元88可以确定表示对与接收到的视频数据的块相关联的残余明度样本和残余色度样本应用变换(例如,DCT、整数变换、小波变换或一个或一个以上其它变换)的方式的RQT。
[0101]在运动补偿单元82基于运动向量和其它语法元素产生了当前视频块的预测块之后,视频解码器30通过将来自逆变换单元88的残余块与由运动补偿单元82产生的对应预测块求和来形成经解码视频块。求和器90表示执行此求和运算的组件。如果需要的话,还可应用解块滤波器以对经解码块进行滤波,以便移除成块假影。其它环路过滤器(在译码环路中或在译码环路之后)也可用于使像素转变平滑或者以其它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储在参考图片存储器92中,参考图片存储器92存储参考图片以用于后续运动补偿。参考图片存储器92还存储经解码视频以用于以后在显示装置(例如图1的显示装置32)上呈现。以此方式,视频解码器30是可以执行包含确定视频数据块的上下文信息的方法的视频解码器的实例,其中所述块包含在视频数据的经译码单元内,其中所述块位于所述经译码单元中的顶部块行下方,并且其中所述上下文信息不包含来自所述经译码单元中的上方相邻块的信息。所述方法还可包含使用确定的上下文信息对所述块的数据进行熵解码。
[0102]图4A和4B是图解说明实例四叉树150和对应最大译码单元172的概念图。图4A描绘实例四叉树150,其包含以分层方式布置的节点。举例来说,四叉树150可以与根据所提出的HEVC标准的树块相关联。例如四叉树150等四叉树中的每一节点可以是没有子节点或具有四个子节点的叶节点。在图4A的实例中,四叉树150包含根节点152。根节点152具有四个子节点,包含叶节点156A-156C(叶节点156)和节点154。因为节点154不是叶节点,所以节点154包含四个子节点,在此实例中,这四个子节点是叶节点158A-158D (叶节点158)。
[0103]在此实例中,四叉树150可包含描述对应最大译码单元(IXU)(例如IXU172)的特性的数据。举例来说,四叉树150通过其结构可以描述IXU分裂成子⑶。假设IXU172具有2NX2N的大小。在此实例中,LCU172具有四个子CU176A-176C(子CU176)和174,其中的每一者大小为NXN。子⑶174进一步分裂成四个子⑶178A-178D (子⑶178),其中的每一者大小为N / 2XN / 2。在此实例中,四叉树150的结构对应于IXU172的分裂。也就是说,根节点152对应于IXU172,叶节点156对应于子⑶176,节点154对应于子⑶174,并且叶节点158对应于子⑶178。
[0104]四叉树150的节点的数据可以描述对应于节点的CU是否分裂。所述CU分裂,那么四叉树150中可能存在四个额外节点。在一些实例中,四叉树的节点可以类似于以下伪码来实施:
[0105]quadtree_node {
[0106]boolean split_flag (I);
[0107]//用信号通知数据
[0108]if (split_flag) {
[0109]quadtree_node chiIdl ;
[0110]quadtree_node child2 ;
[0111]quadtree_node child3 ;
[0112]quadtree_node child4 ;
[0113]}
[0114]}
[0115]split_flag值可以是表示对应于当前节点的⑶是否分裂的一位值。如果⑶未分裂,则split_flag值可以是“0”,而如果CU分裂,则split_flag值可以是“I”。关于四叉树150的实例,分裂旗标值的阵列可以是101000000。
[0116]如上文所示,⑶深度可以指代例如IXU172等IXU已划分的程度。举例来说,根节点152可以对应于CU深度零,而节点154和叶节点156可以对应于CU深度一。此外,叶节点158可以对应于⑶深度二。根据本发明的方面,⑶和/或TU深度可以用作用于对某些语法元素进行熵译码的上下文。在出于解释的目的的实例中,可以使用与叶节点158A不同的上下文模型对与叶节点156A相关联的一个或一个以上语法元素进行熵译码,因为叶节点156A位于深度一,而叶节点158A位于深度二。
[0117]虽然图4A图解说明CU四叉树的实例,但是应理解,可以对叶节点CU的TU应用类似的四叉树。也就是说,叶节点CU可包含TU四叉树(被称作残余四叉树(RQT)),其描述CU的TU的分割。TU四叉树可以一般类似于CU四叉树,不同之处在于TU四叉树可以个别地发信号通知⑶的TU的帧内预测模式。
[0118]根据本发明的技术,视频译码器(例如,视频编码器20和/或视频解码器30)可以基于当前块的CU深度而确定用于当前块的经帧问预测数据的上下文。也就是说,举例来说,当对处于特定CU深度的CU的语法元素进行译码时,视频译码器可以使用CU深度作为用于选择概率模型对语法元素进行译码的上下文信息。作为另一实例,视频译码器可以基于变换深度信息而导出用于经帧内预测数据的上下文信息。也就是说,举例来说,当对处于特定TU深度的TU的语法元素进行译码时,熵编码单元56可以使用TU深度作为用于选择概率模型对语法元素进行译码的上下文信息。
[0119]图5是图解说明可从其确定用于对块进行熵译码的上下文的实例相邻块的框图。虽然图5是关于视频解码器30描述的,但是应理解,本发明的技术可以通过多种其它视频译码器(包含视频编码器20(图1和2))、其它处理器、处理单元、基于硬件的译码单元(例如编码器/解码器(编解码器))和其类似而物执行。
[0120]视频解码器30可以接收与当前块180相关联的经熵译码的数据。举例来说,视频解码器30可以接收经熵译码的有效性图、变换系数和多个其它语法元素以允许视频解码器30恰当地对当前块180进行解码。视频解码器30可以基于与上方相邻块182和左相邻块184相关联的语法元素的值来确定用于接收到的语法元素中的一者或一者以上的上下文。
[0121]出于解释的目的,假设视频解码器30当前在对指示当前块180内的像素的特定预测模式(例如,帧内预测模式)的语法元素进行解码。在此实例中,视频解码器30可以从上方相邻块182和左相邻块184识别帧内预测模式以确定用于当前语法元素的上下文。所以,用于对当前语法元素进行熵解码的上下文模型可能取决于上方相邻块182和左相邻块184的帧内预测模式。因而,视频解码器30可以存储或缓冲指示上方相邻块182和左相邻块184的帧内预测模式的数据,使得此些数据可在执行熵解码时使用。
[0122]虽然出于实例的目的描述了与帧内预测模式相关联的语法元素的熵译码,但是也可基于相邻块的数据对其它语法元素进行译码。举例来说,关于新兴的HEVC标准,可以使用包含来自相邻块(包含上方相邻块182和左相邻块184)的数据的上下文对以下语法元素进行熵译码:
[0123]1.skip_flag[xO] [y0]。
[0124]a) skip_flag等于I指定:对于当前CU,当对P或B切片进行解码时,在skip_flag[x0] [y0]之后除了运动向量预测值索引之外不对额外语法元素进行解析。skip_flag[x0] [y0]等于O指定不跳过所述译码单元。阵列索引x0、y0指定译码块的左上方明度样本相对于图片的左上方明度样本的位置(x0,y0)。
[0125]2.split_coding_unit_flag
[0126]a) split_coding_unit_flag[xO] [yO]指定译码单元是否分裂成具有一半水平和垂直大小的译码单元。阵列索引xO、yO指定译码块的左上方明度样本相对于图片的左上方明度样本的位置(xO,yO)。
[0127]3.明度块的cbp
[0128]a)经译码块模式(CBP)指定哪些明度块含有非零变换系数等级。也就是说,明度块的CBP可以对应于一个或一个以上经译码块旗标,经译码块旗标中的每一者具有指示相应明度块是经译码(包含一个或一个以上非零变换系数等级值)还是未经译码(包含所有零值变换系数)的值。
[0129]4.色度块的cbp
[0130]a)经译码块模式(CBP)指定哪些色度块含有非零变换系数等级。也就是说,色度块的CBP可以对应于一个或一个以上经译码块旗标,经译码块旗标中的每一者具有指示相应色度块是经译码(包含一个或一个以上非零变换系数等级值)还是未经译码(包含所有零值变换系数)的值。
[0131]5.色度帧内模式的binO
[0132]a) intra_chroma_pred_mode [x0] [yO]指定用于色度样本的巾贞内预测模式。阵列索引x0、y0指定预测块(PU)的左上方明度样本相对于图片的左上方明度样本的位置(xO,yO)。
[0133]6.no_residual_data_f lag
[0134]a)no_residual_data_flag等于I指定当前译码单元不存在残余数据。no_residual_data_flag等于O指定当前译码单元存在残余数据。
[0135]7.merge_f lag
[0136]a)merge_flag[x0] [yO]指定是否从相邻巾贞问预测分区推断当前PU的巾贞问预测参数。阵列索引x0、y0指定所考虑的预测块的左上方明度样本相对于图片的左上方明度样本的位置(x0,yO)。
[0137]8.ref idx 的 binO
[0138]a)refidx_10[x0] [yO]指定用于当前PU的列表O参考图片索引。阵列索引x0、y0指定预测块的左上方明度样本相对于图片的左上方明度样本的位置(x0,yO)。
[0139]b)ref_idx_ll [x0] [yO]的语义与ref_idx_10相同,其中10和列表O分别被11和列表I取代。
[0140]c)ref_idx_lc[x0] [yO]的语义与ref_idx_10相同,其中10和列表O分别被Ic和列表组合取代。
[0141]9.mvd 的 binO
[0142]a)mvd_10[x0] [yO] [compIdx]指定待使用的列表0向量分量与预测向量之间的差。阵列索引x0、yO指定预测块的左上方明度样本相对于图片的左上方明度样本的位置(x0,y0)。向水平运动向量分量差指派CompIdx=O,且向垂直运动向量分量指派CompIdx=I。
[0143]b)mvd_ll[x0] [yO] [compldx]的语义与 mvd_10 相同,其中 10 和列表 O 分别被 11和列表I取代。
[0144]c)mvd_lc[x0] [yO] [compldx]的语义与 mvd_10 相同,其中 10 和列表 O 分别被 Ic和列表组合取代。
[0145]10.1nter_pred_flag[0146]a) inter_pred_flag[xO] [yO]指定对当前预测单元使用单向预测还是双向预测。阵列索引xO、yO指定预测块的左上方明度样本相对于图片的左上方明度样本的位置(xO,yO)。
[0147]11.帧内色度块的cbp
[0148]a)经译码块模式(CBP)指定哪些块可含有非零变换系数等级。
[0149]上文所列的语法元素只是为了实例的目的而提供。也就是说,当对与当前块180相关联的其它语法元素进行熵译码时,视频解码器30可以使用来自相邻块(例如上方相邻块182和左相邻块184)的数据。
[0150]图6是图解说明根据本发明的方面的可以从其确定用于对块进行熵译码的上下文的实例相邻块的框图。虽然图6是关于视频解码器30描述的,但是应理解,本发明的技术可以通过多种其它视频译码器(包含视频编码器20 (图1和2))、其它处理器、处理单元、基于硬件的译码单元(例如编码器/解码器(编解码器))和其类似物执行。
[0151]视频解码器30可以接收与经译码单元191的当前块190相关联的经熵译码的数据。举例来说,视频解码器30可以接收经熵译码的有效性图、变换系数(是经帧内预测还是帧问预测)和多个其它语法元素以允许视频解码器30恰当地对经译码单元191的当前块190进行解码。经译码单元191 一般可以包含包含视频数据的多个块的预定义数量的视频数据,举例来说,切片、瓦片或瓦片集合、波前集合或包含视频数据的多个块的任何其它预定义单元。虽然在图6的实例中,上方相邻块194、左相邻块192和块196 —般被展示为未划分的块,但是应理解,此些块可以被划分成一个或一个以上更小的块。
[0152]根据本发明的方面,并非使用来自上方相邻块194的数据(举例来说,如图5中所示)作为用于确定当对语法元素进行译码时的概率模型的上下文信息,而是视频解码器30可以仅使用来自左相邻块192的数据作为用于对当前块190进行熵译码的上下文信息。举例来说,视频解码器30可以不使用来自不邻近于当前块190而定位的上方相邻块194或经先前译码块196的数据作为用于确定用于对当前块190进行熵译码的概率模型的上下文信息。在此实例中,视频解码器30可以比图5中展示的实例缓冲更少的数据。举例来说,假设最大IXU大小为64x64像素并且最小⑶大小为4x4像素,则视频解码器30可以潜在地缓冲仅与16个视频数据块(例如,64 / 4=16个潜在左相邻块)相关联的数据。
[0153]根据本发明的其它方面,当相邻块是与当前块190相同的LCU的一部分时,在确定用于对当前块190进行熵译码的上下文时,视频解码器30可以仅使用来自相邻块的数据。举例来说,在当前块190和相邻块是相同LCU的子CU时,视频解码器30可以仅使用来自相邻块的数据来用于确定用于当前块190的上下文。也就是说,在一些实例中,视频解码器30在确定用于对当前块190进行熵译码的上下文时不利用跨越LCU边界的数据。LCU边界限制可以放置在上方相邻块194、左相邻块192或上方相邻块194和左相邻块192两者上。
[0154]根据本发明的其它方面,视频解码器30可以基于与当前块190相关联的局部CU和/或LCU信息来确定用于对当前块190进行熵译码的上下文。举例来说,视频解码器30可以基于⑶深度来确定用于经巾贞问预测数据的上下文(例如,inter_pred_flag),⑶深度一般对应于当前块190所属的LCU已被分割的次数。作为另一实例,视频解码器30可以基于TU深度来确定用于经帧内预测数据的上下文(例如,帧内色度块的cbp),TU深度一般对应于当前块190的TU已被分割的次数。[0155]在一些实例中,视频解码器30在确定用于对当前块190进行熵译码的概率模型时可以使用来自源组合的数据作为上下文信息。举例来说,视频解码器30在确定用于对当前块190进行熵译码的上下文时可以实施本发明的技术的任何组合。也就是说,在一实例中,视频解码器30在确定概率模型时可以使用来自左相邻块192 (例如,排除上方相邻块或其它块)两者的数据以及来自与当前块190相关联的局部CU和/或LCU信息的数据作为上下文信息。在另一实例中,视频解码器30在确定概率模型时可以使用来自与当前块190相同的LCU的一部分的相邻块(例如,排除其它相邻块)的数据以及来自与当前块190相关联的局部CU和/或LCU信息的数据作为上下文信息。
[0156]另外或或者,视频解码器30可以使用单个上下文对当前块190进行熵译码。举例来说,视频解码器30可以基于与当前块190相关联的特定语法元素自身确定用于所述语法元素的上下文。在一些实例中,视频解码器30可以针对语法元素使用单个上下文,包含no_residual_data_f lag、merge_flag、ref idx 的 binO 和 mvd 的 binO,如上文关于图 5 所描述。
[0157]通过限制从其导出上下文信息的位置,如图6的实例中所示和描述,视频解码器30可以减少为了导出上下文而缓冲的数据量。此外,视频解码器30可以增加解析处理量和/或稳健性。举例来说,如上文所示,视频解码器30可以根据特定解析过程(例如,波前解析)解析接收到的视频数据。在视频解码器30不使用来自某些相邻块的数据确定上下文的实例中,视频解码器30可以消除上下文相依性以便改善解析处理量和并行处理视频数据的能力。此外,消除上下文相依性可以减少上下文导出错误的可能性,由此改善解析稳健性。
[0158]图7是图解说明对视频数据块进行熵译码的实例技术的流程图。图7中展示的实例一般被描述成通过视频译码器执行。应理解,在一些实例中,图7的技术可以通过上文所描述的视频编码器20 (图1和2)或视频解码器30 (图1和3)执行。在其它实例中,图7的技术可以通过多种其它处理器、处理单元、基于硬件的译码单元(例如编码器/解码器(编解码器))和其类似物执行。
[0159]视频译码器可以接收经译码单元(例如,图片、切片、瓦片、波前集合和其类似物)的视频数据块用于熵译码(200)。根据本发明的方面,视频数据块可以定位在经译码单元(CU)的顶部行下方。举例来说,视频译码器可以确定当前正被熵译码的块是否定位在经译码单元的另一块行下方。在一些实例中,当前正被熵译码的块可以是包含在与上方相邻子CU相同的LCU中的子CU。在其它实例中,所述块可以定位在LCU的边缘处,从而使得上方相邻块属于与当前块不同的LCU。
[0160]视频译码器可以接着确定用于所述块的上下文不包含来自上方相邻块的信息(202)。举例来说,根据本发明的方面,并非使用来自上方相邻块的信息,视频译码器在确定用于选择概率模型的上下文时可以使用来自左相邻块的信息。在一些实例中,左相邻块可以包含在与当前正被译码的块相同的IXU内。在其它实例中,左相邻块可以包含在与当前正被译码的块不同的IXU内。
[0161]在另一实例中,视频数据块可包含IXU的一个或一个以上块,且上方相邻块可包含一个或一个以上其它LCU。在此实例中,根据本发明的方面,视频译码器可以使用与LCU的其它块相关联的信息来确定用于所述块的上下文,但排除上方相邻块(包含在其它LCU中)。在出于说明的目的的实例中,正被译码的块可包含LCU的第一子CU,而上方相邻块可包含一个或一个以上其它IXU。还假设第二子⑶定位在第一子⑶上方(在相同IXU中)。在此实例中,视频译码器可以使用来自第二子CU的信息来确定用于第一子CU的上下文信息,第二子⑶定位在第一子⑶上方。
[0162]在另一实例中,根据本发明的方面,视频译码器可以基于与所述块相关联的局部CU和/或LCU信息来确定用于对所述块进行熵译码的上下文。举例来说,视频译码器可以基于CU深度或TU深度(例如,根据四叉树结构,如图4中所示)、LCU的大小或其它特性来确定上下文。也就是说,视频译码器可以基于CU深度来确定用于经帧问预测数据的上下文,CU深度一般对应于LCU已被分割以达到当前块的次数。作为另一实例,视频译码器可以基于变换深度来确定用于经帧内预测数据的上下文,变换深度描述当前块的TU被划分的次数。其它实例也是可能的,例如基于所述块所属的CU的大小、与所述块相关联的TU的大小和其类似物来确定用于当前块的上下文。
[0163]在其它实例中,视频译码器可以用其它方式确定用于所述块的上下文。举例来说,根据一些方面,视频译码器在对块进行熵译码时可以使用单个上下文。也就是说,视频译码器可以基于当前正被译码的语法元素(例如,直接映射到某一上下文的语法元素)来确定用于对当前块进行译码的上下文。
[0164]在一些实例中,视频译码器在确定用于对块进行熵译码的上下文时可以使用来自源组合的信息。举例来说,视频译码器可以使用来自左相邻块和来自局部CU和/或LCU特性的信息两者的信息。在另一实例中,视频译码器可以使用作为来自与所述块相同的LCU的部分的相邻块的信息和来自局部CU和/或LCU特性的信息。在确定了上下文之后,视频译码器可以使用所确定的上下文对块进行熵译码,如上文所示(204)。
[0165]虽然图7中展示的过程一般是关于对视频数据块进行译码而描述的,但是应理解,视频数据块可包含一个以上相关联的语法元素(举例来说,如所描述,关于上文的图5和6)。所以,在对视频数据块进行熵译码时,可以多次执行图7的实例中展示和描述的过程。也就是说,举例来说,视频译码器可以用与其它语法元素不同的方式对与所述视频数据块相关联的一些语法元素进行熵译码。因而,可以使用基于块的特性的上下文对一个语法元素进行熵译码,而可以用另一方式对另一语法元素进行熵译码。
[0166]还应理解,相对于图7展示和描述的步骤只是作为一个实例而提供。也就是说,图7的方法的步骤不一定需要用图7中所示的次序执行,并且可以执行更少、额外或替代的步骤。
[0167]图8是图解说明对视频数据块进行熵译码的实例技术的流程图。图8中展示的实例一般被描述成通过视频译码器执行。应理解,在一些实例中,图8的技术可以通过上文所描述的视频编码器20 (图1和2)或视频解码器30 (图1和3)执行。在其它实例中,图8的技术可以通过多种其它处理器、处理单元、基于硬件的译码单元(例如编码器/解码器(编解码器))和其类似物执行。
[0168]根据一些实例,图8中展示的实例的技术可以用图7中展示的技术执行。举例来说,图8中展示的实例的技术可以在图7的步骤202期间执行。
[0169]在图8的实例中,视频译码器确定是否使用来自左相邻块的数据作为用于选择概率模型以对特定语法元素进行熵译码的上下文信息(210)。举例来说,如上文相对于图7所提到,视频译码器在确定用于对一个或一个以上语法元素进行熵译码的上下文时可以不使用来自上方相邻块的信息。根据本发明的方面,并非使用来自上方相邻块的信息,视频译码器在确定用于选择概率模型的上下文时可以使用来自左相邻块的信息。在此些实例(例如,步骤210的是分支)中,视频译码器可以从左相邻块检索上下文信息的至少一部分(212)。在一些实例中,左相邻块可以包含在与当前正被译码的块相同的LCU内。在其它实例中,左相邻块可以包含在与当前正被译码的块不同的LCU内。
[0170]视频译码器可以接着确定是否使用来自其它源的数据作为用于熵译码的上下文(214)。如果视频译码器不使用来自左相邻块的数据作为上下文(例如,步骤210的否分支),则视频译码器可以直接前进到步骤214。在任何情况下,视频译码器都可以基于与所述块相关联的局部CU和/或LCU信息确定上下文。也就是说,视频译码器可以基于CU深度或TU深度(例如,根据四叉树结构,如图4中所示)、LCU的大小或其它特性确定上下文。在其它实例中,视频译码器可以确定单个上下文。也就是说,视频译码器可以基于当前正被译码的语法元素(例如,语法元素直接映射到某一上下文)来确定上下文。
[0171]如果视频译码器的确使用来自其它源的数据作为上下文(例如,步骤214的是分支),则视频译码器可以从其它源检索适当的上下文信息(216)。视频译码器可以接着基于所确定的上下文信息选择概率模型(218)。如果视频译码器不使用来自其它源的数据作为上下文,则视频译码器可以直接前进到步骤218。
[0172]还应理解,相对于图8展示和描述的步骤只是作为一个实例而提供。也就是说,图8的方法的步骤不一定需要用图8中所示的次序执行,并且可以执行更少、额外或替代的步骤。
[0173]图9是图解说明对视频数据块进行熵译码的实例技术的流程图。图9中展示的实例一般被描述成通过视频译码器执行。应理解,在一些实例中,图9的技术可以通过上文所描述的视频编码器20 (图1和2)或视频解码器30 (图1和3)执行。在其它实例中,图9的技术可以通过多种其它处理器、处理单元、基于硬件的译码单元(例如编码器/解码器(编解码器))和其类似物执行。
[0174]根据一些实例,图9中展示的实例的技术可以用图7中展示的技术执行。举例来说,图9中展示的实例的技术可以在图7的步骤202期间执行。
[0175]在图9的实例中,视频译码器确定是否使用来自当前LCU的数据作为用于选择概率模型以对来自当前LCU的特定语法元素进行熵译码的上下文信息(230)。举例来说,如上文相对于图7所提到,在一些情况下,视频译码器在确定用于对一个或一个以上语法元素进行熵译码的上下文时可以不使用来自上方相邻块的信息。但是,根据本发明的方面,视频译码器在确定上下文时可以使用与上方相邻块相关联的数据,但是仅在上方相邻块是来自与当前正被译码的块相同的LCU的时候。也就是说,视频译码器在确定用于对与LCU相关联的语法元素进行译码的上下文时可以避免跨越LCU边界。
[0176]在此些实例(例如,步骤230的是分支)中,视频译码器可以从IXU的块检索上下文信息的至少一部分(232)。视频译码器可以接着确定是否使用来自其它源的数据作为用于熵译码的上下文(234)。如果视频译码器不使用来自当前LCU的数据作为上下文(例如,步骤230的否分支),则视频译码器可以直接前进到步骤234。在任何情况下,视频译码器都可以基于与所述块相关联的局部CU和/或LCU信息确定上下文。也就是说,视频译码器可以基于CU深度或TU深度(例如,根据四叉树结构,如图4中所示)、LCU的大小或其它特 性确定上下文。在其它实例中,视频译码器可以确定单个上下文。也就是说,视频译码器可 以基于当前正被译码的语法元素(例如,语法元素直接映射到某一上下文)来确定上下文。
[0177]如果视频译码器的确使用来自其它源的数据作为上下文(例如,步骤234的是分 支),则视频译码器可以从其它源检索适当的上下文信息(236)。视频译码器可以接着基于 所确定的上下文信息选择概率模型(238)。如果视频译码器不使用来自其它源的数据作为 上下文,则视频译码器可以直接前进到步骤238。
[0178]还应理解,相对于图9展示和描述的步骤只是作为一个实例提供。也就是说,图9 的方法的步骤不一定需要用图9中所示的次序执行,并且可以执行更少、额外或替代的步骤。
[0179]图10是图解说明对视频数据块进行熵译码的实例技术的流程图。图10中展示的 实例一般被描述成通过视频译码器执行。应理解,在一些实例中,图10的技术可以通过上 文所描述的视频编码器20(图1和2)或视频解码器30(图1和3)执行。在其它实例中, 图8的技术可以通过多种其它处理器、处理单元、基于硬件的译码单元(例如编码器/解码 器(编解码器))和其类似物执行。
[0180]根据一些实例,图10中展示的实例的技术可以用图7中展示的技术执行。举例来 说,图10中展示的实例的技术可以在图7的步骤202期间执行。
[0181]在图10的实例中,视频译码器确定是否使用来自局部块信息的数据作为用于选 择概率模型以对特定语法元素进行熵译码的上下文信息(260)。举例来说,如上文相对于 图7所提到,视频译码器在确定用于对一个或一个以上语法元素进行熵译码的上下文时可 以不使用来自上方相邻块的信息。根据本发明的方面,并非使用来自上方相邻块的信息,视 频译码器可以使用来自局部块信息的数据。在此些实例(例如,步骤210的是分支)中,视 频译码器可以从局部块信息检索上下文信息的至少一部分(212)。
[0182]举例来说,视频译码器在确定上下文信息时可以使用来自CU的一个或一个以上 特性的数据。也就是说,在一实例中,视频译码器可以对CU的经帧问预测残余数据进行熵 译码。在此实例中,视频译码器在确定用于对经帧问预测残余数据进行熵译码的上下文信 息时可以确定CU深度。换句话说,在对处于特定CU深度的CU的语法元素进行译码时,视 频译码器可以使用所述CU深度作为用于选择概率模型的上下文信息。在出于说明的目的 的实例中,视频译码器可以使用特定CU深度作为上下文信息对与处于特定CU深度的经帧 问预测数据相关联的巾贞问预测旗标(inter_pred_flag)进行熵译码。
[0183]在另一实例中,视频译码器在确定上下文信息时可以使用来自TU的一个或一个 以上特性的数据。也就是说,在一实例中,视频译码器可以对TU的经帧内预测残余数据进 行熵译码。在此实例中,视频译码器在确定用于对经帧内预测残余数据进行熵译码的上下 文信息时可以确定TU深度。换句话说,在对处于特定TU深度的TU的语法元素进行译码时, 视频译码器可以使用所述TU深度作为用于选择概率模型的上下文信息。在出于说明的目 的的实例中,视频译码器可以使用特定TU深度作为上下文信息对处于特定TU深度的经译 码块模式的一个或一个以上语法元素进行熵译码。
[0184]视频译码器可以接着确定是否使用来自其它源的数据作为用于熵译码的上下文 (264)。举例来说,视频译码器可以使用来自左相邻块的数据(例如,图8)或来自正被译码的LCU中的其它块的数据(例如,图9)确定用于熵译码的上下文。在其它实例中,视频译 码器可以基于当前正被译码的语法元素(例如,语法元素直接映射到某一上下文)来确定 上下文。
[0185]如果视频译码器的确使用来自其它源的数据作为上下文(例如,步骤264的是分 支),则视频译码器可以从其它源检索适当的上下文信息(266)。视频译码器可以接着基于 所确定的上下文信息选择概率模型(268)。如果视频译码器不使用来自其它源的数据作为 上下文,则视频译码器可以直接前进到步骤268。
[0186]还应理解,相对于图10展示和描述的步骤只是作为一个实例而提供。也就是说, 图10的方法的步骤不一定需要用图10中所示的次序执行,并且可以执行更少、额外或替代 的步骤。
[0187]此外,应理解,取决于实例,本文中的任何所描述的方法的某些动作或事件可以用 不同序列执行、可以添加、合并或全部省略(例如,实践所述方法并不需要所有的所描述动 作或事件)。此外,在某些实例中,可同时(例如,通过多线程处理、中断处理或多个处理器) 而非循序地执行动作或事件。此外,虽然为了清晰起见,本发明的某些方面被描述为是通过 单个模块或单元执行,但是应理解,本发明的技术可以通过与视频译码器相关联的单元或 模块的组合执行。
[0188]在一个或一个以上实例中,所描述的功能可以用硬件、软件、固件或其任何组合来 实施。如果用软件实施,则所述功能可以作为一个或一个以上指令或代码在计算机可读媒 体上存储或传输,并且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存 储媒体,其对应于有形媒体(例如数据存储媒体),或包含任何促进将计算机程序从一处传 送到另一处的媒体(例如,根据一种通信协议)的通信媒体。
[0189]以此方式,计算机可读媒体一般可以对应于(I)有形计算机可读存储媒体,其是 非暂时性的,或(2)通信媒体,例如信号或载波。数据存储媒体可以是可由一个或一个以 上计算机或一个或一个以上处理器存取以检索用于实施本发明中描述的技术的指令、代码 和/或数据结构的任何可用的媒体。计算机程序产品可包含计算机可读媒体。
[0190]借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM 或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或任何其它可用来 存储指令或数据结构的形式的所要程序代码并且可由计算机存取的媒体。而且,可恰当地 将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订 户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软 件,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电和微波的无线技术包含在媒 体的定义中。
[0191]但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包含连接、载波、信 号或其它瞬时媒体,而是实际上针对于非瞬时有形存储媒体。如本文中所使用,磁盘和光盘 包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘和蓝光光盘,其中 磁盘通常磁性地再现数据,而光盘使用激光光学地再现数据。上文的组合也应包含在计算 机可读媒体的范围内。
[0192]指令可以由一个或一个以上处理器执行,所述一个或一个以上处理器例如是一个 或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)、或其它等效的集成或离散逻辑电路。因此,如本文中所使用的术语“处理器” 可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一 些方面中,本文所述的功能性可以在经配置用于编码和解码的专用硬件和/或软件模块内 提供,或者并入在组合式编解码器中。并且,可将所述技术完全实施于一个或一个以上电路 或逻辑元件中。
[0193]本发明的技术可以在广泛多种装置或设备中实施,包括无线手持机、集成电路 (IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以 执行所揭示的技术的装置的功能方面,但不一定需要通过不同硬件单元实现。实际上,如上 文所描述,各种单元可以联合合适的软件和/或固件而组合在一个编解码器硬件单元中, 或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一个或一个以 上处理器。
[0194]已经描述了本发明的各种方面。这些和其它方面均处于所附权利要求书的范围 内。
【权利要求】
1.一种对视频数据进行译码的方法,所述方法包括: 确定用于视频数据块的上下文信息,其中所述块包含在视频数据的经译码单元内,其中所述块在所述经译码单元中的顶部块行下方,并且其中所述上下文信息不包含来自所述经译码单元中的上方相邻块的信息;以及 使用所述确定的上下文信息对所述块的数据进行熵译码。
2.根据权利要求1所述的方法,其中所述经译码单元包括图片、切片、瓦片和波前集合中的一者。
3.根据权利要求1所述的方法,其中确定所述上下文信息是基于来自所述经译码单元的左相邻块的所述上下文信息的至 少一部分。
4.根据权利要求1所述的方法,其中确定用于所述视频数据块的上下文信息包括: 基于来自与所述块相邻且包含在所述经译码单元中的块的所述上下文信息的至少一部分来确定用于语法元素的第一集合的上下文信息;以及 确定用于语法元素的第二集合的上下文信息,其中所述上下文信息不包含来自与所述块相邻且包含在所述经译码单元中的块的信息。
5.根据权利要求4所述的方法,其中语法元素的所述第二集合包括以下各者中的至少一者:无残余数据旗标(no_residual_data_flag)、合并旗标(merge_flag)、参考索引旗标的第一二进位(ref_idx的binO)和运动向量差索引(mvd_idx)的第一二进位。
6.根据权利要求5所述的方法,其中确定用于语法元素的所述第二集合的上下文信息包括基于正被译码的语法元素来确定单个上下文。
7.根据权利要求4所述的方法,其中语法元素的所述第一集合包括以下各者中的至少一者:跳过旗标、分裂译码单元旗标(split_coding_unit_flag)、明度块的cbp和色度帧内模式的binO。
8.根据权利要求1所述的方法,其中所述块包括最大译码单元LCU的一个或一个以上块并且所述顶部块行包括一个或一个以上其它LCU,并且其中确定用于所述块的上下文信息包括使用与所述LCU的所述一个或一个以上块相关联的信息并且排除所述LCU外部的信息来确定上下文信息。
9.根据权利要求1所述的方法,其中所述块包括所述经译码单元的第一最大译码单元IXU的第一子译码单元⑶,其中所述上方相邻块包括所述经译码单元的在所述第一 IXU上方的第二 LCU,并且其中确定所述上下文信息包括基于来自所述第一 LCU的第二子CU的所述上下文信息的至少一部分来确定所述上下文信息,其中所述第二子CU在所述第一 LCU中的所述第一子⑶上方。
10.根据权利要求1所述的方法,其中所述块包括译码单元CU,并且其中确定所述上下文信息包括确定所述⑶的一个或一个以上特性。
11.根据权利要求10所述的方法,其中对所述块的所述数据进行熵译码包括对所述CU的经帧问预测的残余数据进行熵译码,并且其中确定所述CU的所述一个或一个以上特性包括确定所述⑶的⑶深度。
12.根据权利要求11所述的方法,其中对所述CU的经帧问预测的残余数据进行熵译码包括基于所述⑶的所述⑶深度对帧问预测旗标(inter_pred_flag)进行熵译码。
13.根据权利要求1所述的方法,其中所述块包括变换单元TU,并且其中确定所述上下文信息包括确定所述TU的一个或一个以上特性。
14.根据权利要求13所述的方法,其中对所述块的所述数据进行熵译码包括对所述TU的经帧内预测的残余数据进行熵译码,并且其中确定所述TU的所述一个或一个以上特性包括确定所述TU的TU深度。
15.根据权利要求14所述的方法,其中对所述TU的经帧内预测的残余数据进行熵译码包括对经译码块模式的一个或一个以上语法元素进行熵译码。
16.根据权利要求1所述的方法,其中使用所述确定的上下文信息对所述块的数据进行熵译码包括:基于所述确定的上下文信息确定概率模型以及使用所述确定的概率模型对所述数据进行熵译码。
17.根据权利要求1所述的方法,其中对所述视频数据块进行熵译码包括对所述视频数据块进行熵编码。
18.根据权利要求17所述的方法,其中对所述视频数据块进行熵编码包括对所述视频数据块进行上下文自适应二进制算术译码。
19.根据权利要求17所述的方法,其中对所述视频数据块进行熵编码进一步包括: 对所述块的一个或一个以上残余值应用变换以产生变换系数; 对所述变换系数进行量化以产生经量化变换系数;以及 对所述经量化变换系数进行熵编码。
20.根据权利要求1所述的方法,其中对所述视频数据块进行熵译码包括对所述视频数据块进行熵解码。
21.根据权利要求20所述的方法,其中对所述视频数据块进行熵解码包括: 对接收到的位流进行熵解码以产生与所述视频数据块相关联的经量化变换系数; 对所述经量化变换系数进行逆量化以产生变换系数;以及 对所述变换系数应用逆变换以产生与所述视频数据块相关联的残余值。
22.根据权利要求20所述的方法,其中对所述视频数据块进行熵解码包括对所述视频数据块进行上下文自适应二进制算术译码。
23.一种用于对视频数据进行译码的设备,所述设备包括经配置以执行以下操作的一个或一个以上处理器: 确定用于视频数据块的上下文信息,其中所述块包含在视频数据的经译码单元内,其中所述块在所述经译码单元中的顶部块行下方,并且其中所述上下文信息不包含来自所述经译码单元中的上方相邻块的信息;以及 使用所述确定的上下文信息对所述块的数据进行熵译码。
24.根据权利要求23所述的设备,其中所述经译码单元包括图片、切片、瓦片和波前集合中的一者。
25.根据权利要求23所述的设备,其中,为了确定所述上下文信息,所述一个或一个以上处理器经配置以基于来自所述经译码单元的左相邻块的所述上下文信息的至少一部分来确定所述上下文信息。
26.根据权 利要求23所述的设备,其中,为了确定用于所述视频数据块的上下文信息,所述一个或一个以上处理器经配置以执行以下操作: 基于来自与所述块相邻且包含在所述经译码单元中的块的所述上下文信息的至少一部分来确定用于语法元素的第一集合的上下文信息;以及 确定用于语法元素的第二集合的上下文信息,其中所述上下文信息不包含来自与所述块相邻且包含在所述经译码单元中的块的信息。
27.根据权利要求26所述的设备,其中语法元素的所述第二集合包括以下各者中的至少一者:无残余数据旗标(no_residual_data_flag)、合并旗标(merge_flag)、参考索引旗标的第一二进位(ref_idx的binO)和运动向量差索引(mvd_idx)的第一二进位。
28.根据权利要求27所述的设备,其中,为了确定用于语法元素的所述第二集合的上下文信息,所述一个或一个以上处理器经配置以基于正被译码的语法元素来确定单个上下文。
29.根据权利要求26所述的设备,其中语法元素的所述第一集合包括以下各者中的至少一者:跳过旗标、分裂译码单元旗标(split_coding_unit_flag)、明度块的cbp和色度中贞内模式的binO。
30.根据权利要求23所述的设备,其中所述块包括最大译码单元LCU的一个或一个以上块并且所述顶部块行包括一个或一个以上其它LCU,并且其中为了确定用于所述块的上下文信息,所述一个或一个以上处理器经配置以使用与所述LCU的所述一个或一个以上块相关联的信息并且排除所述LCU外部的信息来确定上下文信息。
31.根据权利要求23所述的设备,其中所述块包括所述经译码单元的第一最大译码单元LCU的第一子译码单元CU,其中所述上方相邻块包括所述经译码单元的在所述第一 LCU上方的第二 IXU,并且其中为了确定所述上下文信息,所述一个或一个以上处理器经配置以基于来自所述第一 LCU的第二子CU的所述上下文信息的至少一部分来确定所述上下文信息,其中所述第二子⑶在所述第一 IXU中的所述第一子⑶上方。
32.根据权利要求23`所述的设备,其中所述块包括译码单元CU,并且其中,为了确定所述上下文信息,所述一个或一个以上处理器经配置以确定所述CU的一个或一个以上特性。
33.根据权利要求32所述的设备,其中,为了对所述块的所述数据进行熵译码,所述一个或一个以上处理器经配置以对所述⑶的经帧问预测的残余数据进行熵译码,并且其中,为了确定所述⑶的所述一个或一个以上特性,所述一个或一个以上处理器经配置以确定所述⑶的⑶深度。
34.根据权利要求33所述的设备,其中,为了对所述CU的经帧问预测的残余数据进行熵译码,所述一个或一个以上处理器经配置以基于所述CU的所述CU深度对帧问预测旗标(inter_pred_flag)进行熵译码。
35.根据权利要求23所述的设备,其中所述块包括变换单元TU,并且其中,为了确定所述上下文信息,所述一个或一个以上处理器经配置以确定所述TU的一个或一个以上特性。
36.根据权利要求35所述的所述的设备,其中,为了对所述块的所述数据进行熵译码,所述一个或一个以上处理器经配置以对所述TU的经帧内预测的残余数据进行熵译码,并且其中,为了确定所述TU的所述一个或一个以上特性,所述一个或一个以上处理器经配置以确定所述TU的TU深度。
37.根据权利要求36所述的设备,其中,为了对所述TU的经帧内预测的残余数据进行熵译码,所述一个或一个以上处理器经配置以对经译码块模式的一个或一个以上语法元素进行熵译码。
38.根据权利要求23所述的设备,其中,为了使用所述确定的上下文信息对所述块的数据进行熵译码,所述一个或一个以上处理器经配置以基于所述确定的上下文信息确定概率模型,并且使用所述确定的概率模型对所述数据进行熵译码。
39.根据权利要求23所述的设备,其中,为了对所述视频数据块进行熵译码,所述一个或一个以上处理器经配置以对所述视频数据块进行编码。
40.根据权利要求39所述的设备,其中,为了对所述视频数据块进行熵编码,所述一个或一个以上处理器经配置以对所述视频数据块进行上下文自适应二进制算术译码。
41.根据权利要求39所述的设备,其中,为了对所述视频数据块进行熵编码,所述一个或一个以上处理器经配置以执行以下操作: 对所述块的一个或一个以上残余值应用变换以产生变换系数; 对所述变换系数进行量化以产生经量化变换系数;以及 对所述经量化变换系数进行熵编码。
42.根据权利要求23所述的设备,其中,为了对所述视频数据块进行熵译码,所述一个或一个以上处理器经配置以对所述视频数据块进行解码。
43.根据权利要求42所述的设备,其中,为了对所述视频数据块进行熵解码,所述一个或一个以上处理器经配置以执行以下操作: 对接收到的位流进行熵解码以产生与所述视频数据块相关联的经量化变换系数; 对所述经量化变换系数进行逆量化以产生变换系数;以及 对所述变换系数应用逆变换以产生与所述视频数据块相关联的残余值。
44.根据权利要求42所述的设备,其中,为了对所述视频数据块进行熵解码,所述一个或一个以上处理器经配置以对所述视频数据块进行上下文自适应二进制算术译码。
45.一种用于对视频数据进行译码的设备,所述设备包括: 用于确定用于视频数据块的上下文信息的装置,其中所述块包含在视频数据的经译码单元内,其中所述块在所述经译码单元中的顶部块行下方,并且其中所述上下文信息不包含来自所述经译码单元中的上方相邻块的信息;以及 用于使用所述确定的上下文信息对所述块的数据进行熵译码的装置。
46.根据权利要求45所述的设备,其中所述经译码单元包括图片、切片、瓦片和波前集合中的一者。
47.根据权利要求45所述的设备,其中用于确定所述上下文信息的装置包括用于基于来自所述经译码单元的左相邻块的所述上下文信息的至少一部分来确定上下文信息的装置。
48.根据权利要求45所述的设备,其中用于确定用于所述视频数据块的上下文信息的装置包括: 用于基于来自与所述块相邻且包含在所述经译码单元中的块的所述上下文信息的至少一部分来确定用于语法元素的第一集合的上下文信息的装置;以及 用于确定用于语法元素的第二集合的上下文信息的装置,其中所述上下文信息不包含来自与所述块相邻且包含在所述经译码单元中的块的信息。
49.根据权利要求48所述的设备,其中语法元素的所述第二集合包括以下各者中的至少一者:无残余数据旗标(no_residual_data_flag)、合并旗标(merge_f lag)、参考索引旗标的第一二进位(ref_idx的binO)和运动向量差索引(mvd_idx)的第一二进位。
50.根据权利要求49所述的设备,其中用于确定用于语法元素的所述第二集合的上下文信息的装置包括用于基于正被译码的语法元素来确定单个上下文的装置。
51.根据权利要求48所述的设备,其中语法元素的所述第一集合包括以下各者中的至少一者:跳过旗标、分裂译码单元旗标(split_coding_unit_flag)、明度块的cbp和色度中贞内模式的binO。
52.根据权利要求45所述的设备,其中所述块包括所述经译码单元的第一最大译码单元LCU的第一子译码单元CU,其中所述上方相邻块包括所述经译码单元的在所述第一 LCU上方的第二 LCU,并且其中用于确定所述上下文信息的装置包括用于基于来自所述第一LCU的第二子CU的所述上下文信息的至少一部分来确定所述上下文信息的装置,其中所述第二子⑶在所述第一 IXU中的所述第一子⑶上方。
53.根据权利要求45所述的设备,其中所述块包括译码单元CU,并且其中用于确定所述上下文信息的装置包括用于确定所述⑶的一个或一个以上特性的装置。
54.根据权利要求53所述的设备,其中用于对所述块的所述数据进行熵译码的装置包括用于对所述CU的经帧问预测的残余数据进行熵译码的装置,并且其中用于确定所述CU的所述一个或一个以上特性的装置包括用于确定所述⑶的⑶深度的装置。
55.根据权利要求54所述的设备,其中用于对所述CU的经帧问预测的残余数据进行熵译码的装置包括用于基于所述CU的所述CU深度对帧问预测旗标(inter_pred_flag)进行熵译码的装置。
56.根据权利要求45所述的设备,其中所述块包括变换单元TU,并且其中用于确定所述上下文信息的装置包括用于确定所述TU的一个或一个以上特性的装置。
57.根据权利要求56所述的设备,其中用于对所述块的所述数据进行熵译码的装置包括用于对所述TU的经帧内预测的残余数据进行熵译码的装置,并且其中用于确定所述TU的所述一个或一个以上特性的装置包括用于确定所述TU的TU深度的装置。
58.根据权利要求57所述的设备,其中用于对所述TU的经帧内预测的残余数据进行熵译码的装置包括用于对经译码块模式的一个或一个以上语法元素进行熵译码的装置。
59.—种上面存储有指令的计算机可读存储媒体,所述指令在被执行时致使一个或一个以上处理器执行以下操作: 确定用于视频数据块的上下文信息,其中所述块包含在视频数据的经译码单元内,其中所述块在所述经译码单元中的顶部块行下方,并且其中所述上下文信息不包含来自所述经译码单元中的上方相邻块的信息;以及 使用所述确定的上下文信息对所述块的数据进行熵译码。
60.根据权利要求59所述的计算机可读存储媒体,其中所述经译码单元包括图片、切片、瓦片和波如集合中的一者。
61.根据权利要求59所述的计算机可读存储媒体,其中所述指令进一步致使所述一个或一个以上处理器基于来自所述经译码单元的左相邻块的所述上下文信息的至少一部分来确定上下文信息以确定上下文信息。
62.根据权利要求59所述的计算机可读存储媒体,所述指令进一步致使所述一个或一个以上处理器执行以下操作:基于来自与所述块相邻且包含在所述经译码单元中的块的所述上下文信息的至少一部分来确定用于语法元素的第一集合的上下文信息;以及 确定用于语法元素的第二集合的上下文信息,其中所述上下文信息不包含来自与所述块相邻且包含在所述经译码单元中的块的信息。
63.根据权利要求62所述的计算机可读存储媒体,其中语法元素的所述第二集合包括以下各者中的至少一者:无残余数据旗标(no_residual_data_flag)、合并旗标(merge_flag)、参考索引旗标的第一二进位(ref_idx的binO)和运动向量差索引(mvd_idx)的第一二进位。
64.根据权利要求62所述的计算机可读存储媒体,其中所述指令进一步致使所述一个或一个以上处理器针对语法元素的所述第二集合基于正被译码的语法元素来确定单个上下文。
65.根据权利要求62所述的计算机可读存储媒体,其中语法元素的所述第一集合包括以下各者中的至少一者:跳过旗标、分裂译码单元旗标(split_coding_unit_flag)、明度块的cbp和色度帧内模式的binO。
66.根据权利要求59所述的计算机可读存储媒体,其中所述块包括所述经译码单元的第一最大译码单元LCU的第一子译码单元CU,其中所述上方相邻块包括所述经译码单元的在所述第一 IXU上方的第二 IXU,并且其中所述指令进一步致使所述一个或一个以上处理器基于来自所述第一 LCU的第二子CU的所述上下文信息的至少一部分来确定上下文信息,其中所述第二子⑶在所述第一 IXU中的所述第一子⑶上方。
67.根据权利要求59所述的计算机可读存储媒体,其中所述块包括译码单元CU,并且其中所述指令进一步致使所述一个或一个以上处理器通过确定所述⑶的一个或一个以上特性来确定所述上下文信息。
68.根据权利要求67所述的计算机可读存储媒体,其中所述指令致使所述一个或一个以上处理器对所述⑶的经帧问预测的残余数据进行熵译码,并且通过确定所述⑶的⑶深度来确定所述CU的所述一个或一个以上特性。
69.根据权利要求68所述的计算机可读存储媒体,其中所述指令进一步致使所述一个或一个以上处理器通过基于所述⑶的所述⑶深度对帧问预测旗标(inter_pred_flag)进行熵译码来对所述CU的经帧问预测的残余数据进行熵译码。
70.根据权利要求59所述的计算机可读存储媒体,其中所述块包括变换单元TU,并且其中所述指令进一步致使所述一个或一个以上处理器通过确定所述TU的一个或一个以上特性来确定所述上下文信息。
71.根据权利要求70所述的计算机可读存储媒体,其中所述指令进一步致使所述一个或一个以上处理器通过对所述TU的经帧内预测的残余数据进行熵译码来对所述块的所述数据进行熵译码,并且通过确定所述TU的TU深度来确定所述TU的所述一个或一个以上特性。
72.根据权利要求71所述的计算机可读存储媒体,其中所述指令进一步致使所述一个或一个以上处理器通过对经译码块模式的一个或一个以上语法元素进行熵译码来对所述TU的经帧内预测的残余数据进行熵译码。
【文档编号】H04N19/423GK103563378SQ201280026032
【公开日】2014年2月5日 申请日期:2012年6月1日 优先权日:2011年6月3日
【发明者】钱威俊, 马尔塔·卡切维奇, 翔林·王 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1