解码视频数据的方法和装置与流程

文档序号:26792592发布日期:2021-09-28 23:54阅读:192来源:国知局
解码视频数据的方法和装置与流程
解码视频数据的方法和装置
1.本技术是申请日为2017年5月3日、申请号为“201780026951.8”、发明名称为“解码视频数据的方法和装置”的发明专利申请的分案申请。
2.本技术案主张以下美国临时申请案中的每一者的权益:
3.2016年5月3日申请的美国临时申请案第62/331,290号;
4.2016年5月5日申请的美国临时申请案第62/332,425号;
5.2016年5月16日申请的美国临时申请案第62/337,310号;
6.2016年5月24日申请的美国临时申请案第62/340,949号;及
7.2016年7月22日申请的美国临时申请案第62/365,853号,
8.所述美国临时申请案中的每一者的全部内容是特此以引用的方式并入。
技术领域
9.本发明涉及视频译码。


背景技术:

10.数字视频能力可并入到广泛范围的装置中,所述装置包含数字电视、数字直播系统、无线广播系统、个人数字助理(pda)、膝上型或桌上型计算机、平板计算机、电子书阅读器、数字相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电电话(所谓的“智能电话)”、视频电话会议装置、视频流式处理装置等等。数字视频装置实施视频译码技术,例如由mpeg

2、mpeg

4、itu

t h.263、itu

t h.264/mpeg

4、part 10、高级视频译码(avc)、高效率视频译码(hevc)标准及这些标准的扩展所定义的标准中所描述的技术。视频装置可通过实施这些视频译码技术来更有效地发射、接收、编码、解码及/或存储数字视频信息。
11.视频译码技术包含空间(图片内)预测及/或时间(图片间)预测以缩减或移除为视频序列所固有的冗余。对于基于块的视频译码,可将视频切片(例如,视频图片或视频图片的部分)分割成视频块,视频块也可被称作译码树单元(ctu)、译码单元(cu)及/或译码节点。图片的经帧内译码(i)切片中的视频块是使用相对于同一图片中的相邻块中的参考样本的空间预测予以编码。图片的经帧间译码(p或b)切片中的视频块可使用相对于同一图片中的相邻块中的参考样本的空间预测,或相对于其它参考图片中的参考样本的时间预测。图片可被称作帧,且参考图片可被称作参考帧。
12.空间或时间预测会产生用于待译码块的预测性块。残余数据表示原始待译码块与预测性块之间的像素差。根据指向形成预测性块的参考样本块的运动向量及指示经译码块与预测性块之间的差的残余数据来编码经帧间译码块。根据帧内译码模式及残余数据来编码经帧内译码块。为了进行进一步压缩,可将残余数据从像素域变换到变换域,从而产生残余变换系数,接着可量化残余变换系数。可扫描最初以二维阵列而布置的经量化变换系数以便产生变换系数的一维向量,且可应用熵译码以实现甚至更多的压缩。


技术实现要素:

13.一般来说,本发明描述与熵译码(编码或解码)视频数据块的二次变换语法元素相关的技术。所述二次变换语法元素可包含(例如)非可分离二次变换(nsst)语法元素、旋转变换语法元素等等。一般来说,这些语法元素的熵译码可包含二值化或反向二值化。可统一所述二值化或反向二值化方案,使得不管所述二次变换语法元素的最大可能值而应用所述相同二值化或反向二值化方案。本发明的技术可进一步包含译码(编码或解码)发信单元语法元素,其中发信单元可包含两个或多于两个相邻块。发信单元语法元素可在所述块中的每一者之前,或紧接地放置于被应用所述发信单元语法元素的块之前(按译码次序)。
14.在一个实例中,一种解码视频数据的方法包含:确定用于视频数据块的二次变换语法元素的最大可能值;熵解码所述块的所述二次变换语法元素的值以形成表示用于所述块的二次变换的经二值化值;不管所述最大可能值而使用共同反向二值化方案来反向二值化所述二次变换语法元素的所述值以确定用于所述块的所述二次变换;及使用所述经确定二次变换来逆变换所述块的变换系数。
15.在另一实例中,一种用于解码视频数据的装置包含:存储器,其经配置以存储视频数据;及一或多个处理器,其实施于电路系统中且经配置以进行以下操作:确定用于视频数据块的二次变换语法元素的最大可能值;熵解码所述块的所述二次变换语法元素的值以形成表示用于所述块的二次变换的经二值化值;不管所述最大可能值而使用共同二值化方案来反向二值化所述二次变换语法元素的所述值以确定用于所述块的所述二次变换;及使用所述经确定二次变换来逆变换所述块的变换系数。
16.在另一实例中,一种用于解码视频数据的装置包含:用于确定用于视频数据块的二次变换语法元素的最大可能值的装置;用于熵解码所述块的所述二次变换语法元素的值以形成表示用于所述块的二次变换的经二值化值的装置;用于不管所述最大可能值而使用共同反向二值化方案来反向二值化所述二次变换语法元素的所述值以确定用于所述块的所述二次变换的装置;及用于使用所述经确定二次变换来逆变换所述块的变换系数的装置。
17.在另一实例中,一种计算机可读存储媒体(例如,一种非暂时性计算机可读存储媒体)在其上存储有指令,所述指令在被执行时致使一或多个处理器进行以下操作:确定用于视频数据块的二次变换语法元素的最大可能值;熵解码所述块的所述二次变换语法元素的值以形成表示用于所述块的二次变换的经二值化值;不管所述最大可能值而使用共同反向二值化方案来反向二值化所述二次变换语法元素的所述值以确定用于所述块的所述二次变换;及使用所述经确定二次变换来逆变换所述块的变换系数。
18.在另一实例中,一种编码视频数据的方法包含:使用二次变换来变换视频数据块的中间变换系数;确定用于所述块的二次变换语法元素的最大可能值,所述二次变换语法元素的值表示所述二次变换;不管所述最大可能值而使用共同二值化方案来二值化所述二次变换语法元素的所述值;及熵编码所述块的所述二次变换语法元素的所述经二值化值以形成表示用于所述块的所述二次变换的经二值化值。
19.在另一实例中,一种用于编码视频数据的装置包含:存储器,其经配置以存储视频数据;及一或多个处理器,其实施于电路系统中且经配置以进行以下操作:使用二次变换来变换视频数据块的中间变换系数;确定用于所述块的二次变换语法元素的最大可能值,所
述二次变换语法元素的值表示所述二次变换;不管所述最大可能值而使用共同二值化方案来二值化所述二次变换语法元素的所述值;及熵编码所述块的所述二次变换语法元素的所述经二值化值以形成表示用于所述块的所述二次变换的经二值化值。
20.下文在附图及具体实施方式中阐述一或多个实例的细节。其它特征、目标及优点将从具体实施方式及附图以及从权利要求书显而易见。
附图说明
21.图1为绘示可利用用于二值化二次变换指数的技术的实例视频编码及解码系统的框图。
22.图2为绘示可实施用于二值化二次变换指数的技术的视频编码器的实例的框图。
23.图3为根据本发明的技术的可经配置以执行cabac的实例熵编码单元的框图。
24.图4为绘示可实施用于二值化二次变换指数的技术的视频解码器的实例的框图。
25.图5为根据本发明的技术的可经配置以执行cabac的实例熵编码单元的框图。
26.图6为根据本发明的技术的绘示编码视频数据的实例方法的流程图。
27.图7为根据本发明的技术的绘示解码视频数据的方法的实例的流程图。
具体实施方式
28.视频译码标准包含itu

t h.261、iso/iec mpeg

1visual、itu

t h.262或iso/iec mpeg

2visual、itu

t h.263、iso/iec mpeg

4visual、itu

t h.264(也被称为iso/iec mpeg

4avc(高级视频译码))、itu

t h.265(也被称为hevc或“高效率视频译码”),包含例如可缩放视频译码(svc)、多视图视频译码(mvc)及屏幕内容译码(scc)的扩展。本发明的技术可应用于这些或未来视频译码标准,例如联合视频探索小组(jvet)测试模型(其也可被称作联合探索模型

jem),其正经历除了hevc以外的开发活动。视频译码标准还包含专有视频编码解码器,例如google vp8、vp9、vp10,及由其它组织(例如,开放媒体联盟)开发的视频编码解码器。
29.在jvet测试模型中,存在被称为位置相依帧内预测组合(pdpc)的帧内预测方法。jvet测试模型还包含非可分离二次变换(nsst)工具。pdpc工具及nsst工具两者使用语法元素(例如,指数)以指示是否应用对应工具及使用哪一变化。举例来说,指数0可意味着不使用工具。
30.视频数据块的nsst指数的最大数目可取决于所述块的帧内预测模式或分割区大小。在一个实例中,如果帧内预测模式为planar或dc且分割区大小为2n
×
2n,那么nsst指数的最大数目为3,否则nsst指数的最大数目为4。在jvet测试模型下,使用二值化的两种类型以表示nsst指数。在jvet测试模型中,如果最大值为3,那么使用截断一元二值化,否则应用固定二元二值化。在jvet测试模型中,如果pdpc指数不等于0,那么不应用nsst且不发信nsst指数。
31.本发明描述可被单独地或以任何组合方式应用以改善(例如)nsst语法元素(例如nsst指数及/或nsst旗标)的译码的多种技术。举例来说,这些技术可改善视频编码器/视频解码器的运作,且由此改善位流效率,这在于这些技术相对于当前jvet测试模型可缩减位流的位速率。
32.图1为绘示可利用用于二值化二次变换指数的技术的实例视频编码及解码系统10的框图。如图1所展示,系统10包含源装置12,源装置12提供将在稍后时间由目的地装置14解码的经编码视频数据。具体地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12及目的地装置14可包括广泛范围的装置中的任一者,包含桌上型计算机、笔记本(即,膝上型)计算机、平板计算机、机顶盒、例如所谓的“智能”电话的电话手机、所谓的“智能”平板、电视、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式处理装置等等。在一些状况下,源装置12及目的地装置14可被配备用于无线通信。
33.目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括通信媒体以使源装置12能够实时地将经编码视频数据直接发射到目的地装置14。可根据通信标准(例如无线通信协议)来调制经编码视频数据,且将其发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(rf)频谱或一或多个物理传输线。通信媒体可形成基于数据包的网络(例如局域网、广域网或全局网络,例如因特网)的部分。通信媒体可包含路由器、交换机、基站,或可有用于促进从源装置12到目的地装置14的通信的任何其它装备。
34.在一些实例中,可将经编码数据从输出接口22输出到存储装置。相似地,可由输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取数据存储媒体中的任一者,例如硬盘驱动器、蓝光(blu

ray)光盘、dvd、cd

rom、闪速存储器、易失性或非易失性存储器,或用于存储经编码视频数据的任何其它合适数字存储媒体。在另外实例中,存储装置可对应于文件服务器或另一中间存储装置,其可存储由源装置12产生的经编码视频。目的地装置14可经由流式处理或下载而从存储装置存取经存储视频数据。文件服务器可为能够存储经编码视频数据且将那个经编码视频数据发射到目的地装置14的任何类型的服务器。实例文件服务器包含web服务器(例如,用于网站)、ftp服务器、网络连接存储(nas)装置或本地磁盘驱动器。目的地装置14可经由任何标准数据连接(包含因特网连接)来存取经编码视频数据。此连接可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,wi

fi连接)、有线连接(例如,dsl、电缆调制解调器等等)或此两者的组合。来自存储装置的经编码视频数据的发射可为流式处理发射、下载发射,或其组合。
35.本发明的技术未必限于无线应用或设置。所述技术可应用于视频译码以支持多种多媒体应用中的任一者,例如空中电视广播、有线电视发射、卫星电视发射、因特网流式处理视频发射(例如http动态自适应流式处理(dash))、被编码到数据存储媒体上的数字视频、存储于数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射以支持例如视频流式处理、视频回放、视频广播及/或视频电话的应用。
36.在图1的实例中,源装置12包含视频源18、视频编码器20及输出接口22。目的地装置14包含输入接口28、视频解码器30及显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用用于二值化二次变换指数的技术。在其它实例中,源装置及目的地装置可包含其它组件或布置。举例来说,源装置12可从外部视频源18(例如外部相机)接收视频数据。同样地,目的地装置14可与外部显示装置介接,而非包含集成式显示装置。
37.图1的所绘示系统10仅仅为一个实例。用于二值化二次变换指数的技术可由任何
数字视频编码及/或解码装置执行。尽管本发明的技术通常是由视频编码装置执行,但所述技术还可由视频编码器/解码器(通常被称为“编码解码器(codec)”)执行。此外,本发明的技术还可由视频预处理器执行。源装置12及目的地装置14仅仅为源装置12产生经译码视频数据以供发射到目的地装置14的这些译码装置的实例。在一些实例中,装置12、14可以大体上对称方式而操作,使得装置12、14中的每一者包含视频编码及解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射,例如,用于视频流式处理、视频回放、视频广播或视频电话。
38.源装置12的视频源18可包含视频捕获装置,例如视频相机、含有先前捕获的视频的视频存档,及/或用以从视频内容提供者接收视频的视频馈送接口。作为另外替代方案,视频源18可产生基于计算机图形的数据作为源视频,或实况视频、经存档视频与计算机产生视频的组合。在一些状况下,如果视频源18为视频相机,那么源装置12及目的地装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术一般来说可适用于视频译码,且可应用于无线及/或有线应用。在每一状况下,经捕获、经预捕获或计算机产生视频可由视频编码器20编码。经编码视频信息接着可由输出接口22输出到计算机可读媒体16上。
39.计算机可读媒体16可包含:暂时性媒体,例如无线广播或有线网络发射;或存储媒体(即,非暂时性存储媒体),例如硬盘、闪存驱动器、紧密光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未展示)可从源装置12接收经编码视频数据且将经编码视频数据提供到目的地装置14,例如,经由网络发射。相似地,媒体生产设施(例如光盘冲压设施)的计算装置可从源装置12接收经编码视频数据且生产含有经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可被理解为包含各种形式的一或多个计算机可读媒体。
40.目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含由视频编码器20定义的语法信息,其也是由视频解码器30使用,其包含描述块及其它经译码单元的特性及/或处理的语法元素。显示装置32将经解码视频数据显示给用户,且可包括多种显示装置中的任一者,例如阴极射线管(crt)、液晶显示器(lcd)、等离子体显示器、有机发光二极管(oled)显示器,或另一类型的显示装置。
41.视频编码器20及视频解码器30可根据视频译码标准(例如高效率视频译码(hevc)标准,也被称作itu

t h.265)而操作。替代地,视频编码器20及视频解码器30可根据其它专有或行业标准(例如itu

t h.264标准(被替代地称作mpeg

4)、part 10、高级视频译码(avc),或这些标准的扩展)而操作。然而,本发明的技术并不限于任何特定译码标准。视频译码标准的其它实例包含mpeg

2及itu

t h.263。尽管图1中未展示,但在一些方面中,视频编码器20及视频解码器30可各自与音频编码器及解码器集成,且可包含适当mux

demux单元或其它硬件及软件以处置共同数据流或单独数据流中的音频及视频两者的编码。在适用时,mux

demux单元可符合itu h.223多路复用器协议,或例如用户数据报协议(udp)的其它协议。
42.视频编码器20及视频解码器30各自可被实施为多种合适编码器电路系统中的任一者,例如一或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑、软件、硬件、固件或其任何组合。当所述技术是部分地以软件予以实
施时,装置可将用于所述软件的指令存储于合适非暂时性计算机可读媒体中,且在硬件中使用一或多个处理器来执行所述指令以执行本发明的技术。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,所述一或多个编码器或解码器中的任一者可被集成为相应装置中的组合式编码器/解码器(编码解码器)的部分。
43.一般来说,根据itu

t h.265,可将视频图片划分成可包含亮度样本及色度样本两者的一连串译码树单元(ctu)(或最大译码单元(lcu))。替代地,ctu可包含单色数据(即,仅亮度样本)。位流内的语法数据可定义ctu的大小,ctu在像素的数目方面为最大译码单元。切片包含按译码次序的数个连续ctu。可将视频图片分割成一或多个切片。可根据四元树将每一ctu分裂成译码单元(cu)。一般来说,四元树数据结构包含每cu一个节点,其中根节点对应于ctu。如果将cu分裂成四个子cu,那么对应于所述cu的节点包含四个叶节点,所述四个叶节点中的每一者对应于所述子cu中的一者。
44.四元树数据结构的每一节点可提供用于对应cu的语法数据。举例来说,四元树中的节点可包含分裂旗标,其指示对应于所述节点的cu是否被分裂成子cu。用于cu的语法元素可被递归地定义,且可取决于所述cu是否被分裂成子cu。如果cu未被进一步分裂,那么其被称作叶cu。在本发明中,即使不存在原始叶cu的明确分裂,叶cu的四个子cu也将被称作叶cu。举例来说,如果处于16
×
16大小的cu未被进一步分裂,那么四个8
×
8子cu也将被称作叶cu,但16
×
16cu从未被分裂。
45.cu具有与h.264标准的宏块相似的目的,只是cu不具有大小区别除外。举例来说,ctu可被分裂成四个子节点(也被称作子cu),且每一子节点又可为父节点且被分裂成另四个子节点。被称作四元树的叶节点的最终未分裂子节点包括译码节点,也被称作叶cu。与经译码位流相关联的语法数据可定义ctu可被分裂的最大次数(被称作最大cu深度),且还可定义译码节点的最小大小。因此,位流还可定义最小译码单元(scu)。本发明使用术语“块”以在hevc的上下文中是指cu、预测单元(pu)或变换单元(tu)中的任一者,或在其它标准的上下文中是指相似数据结构(例如,h.264/avc中的其宏块及子块)。
46.cu包含译码节点以及与译码节点相关联的预测单元(pu)及变换单元(tu)。cu的大小对应于译码节点的大小,且为大体上正方形形状。cu的大小的范围可为8
×
8像素直到具有最大大小的ctu的大小,例如,64
×
64像素或更大。每一cu可含有一或多个pu及一或多个tu。与cu相关联的语法数据可描述(例如)将cu分割成一或多个pu。分割模式可在cu被跳过或直接模式编码、帧内预测模式编码还是帧间预测模式编码之间不同。pu可被分割为非正方形形状。与cu相关联的语法数据还可描述(例如)根据四元树将cu分割成一或多个tu。tu可为正方形或非正方形(例如,矩形)形状。
47.hevc标准允许根据tu的变换,所述变换对于不同cu可不同。tu通常是基于针对经分割ctu所定义的给定cu内的pu的大小被定大小,但可能并非总是此状况。tu通常为相同大小或小于pu。在一些实例中,可使用被称为“残余四元树”(rqt)的四元树结构将对应于cu的残余样本再分成较小单元。rqt的叶节点可被称作变换单元(tu)。可变换与tu相关联的像素差值以产生可被量化的变换系数。
48.叶cu可包含一或多个预测单元(pu)。一般来说,pu表示对应于对应cu的全部或部分的空间区域,且可包含用于检索及/或产生用于pu的参考样本的数据。此外,pu包含与预测相关的数据。举例来说,当pu被帧内模式编码时,用于pu的数据可包含于残余四元树
(rqt)中,残余rqt可包含描述用于对应于pu的tu的帧内预测模式的数据。rqt还可被称作变换树。在一些实例中,可在叶cu语法而非rqt中发信帧内预测模式。作为另一实例,当pu被帧间模式编码时,pu可包含定义用于pu的运动信息(例如一或多个运动向量)的数据。定义用于pu的运动向量的数据可描述(例如)运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精确度或八分之一像素精确度)、运动向量所指向的参考图片,及/或用于运动向量的参考图片列表(例如,列表0、列表1或列表c)。
49.具有一或多个pu的叶cu还可包含一或多个变换单元(tu)。可使用rqt(也被称作tu四元树结构)来指定变换单元,如上文所论述。举例来说,分裂旗标可指示叶cu是否被分裂成四个变换单元。接着,可将每一变换单元进一步分裂成另外子tu。当tu未被进一步分裂时,其可被称作叶tu。通常,对于帧内译码,属于叶cu的所有叶tu共享相同帧内预测模式。即,通常应用相同帧内预测模式以计算叶cu的所有tu的经预测值。对于帧内译码,视频编码器可使用帧内预测模式来计算每一叶tu的残余值作为对应于tu的cu的部分与原始块之间的差。tu未必限于pu的大小。因此,tu可大于或小于pu。对于帧内译码,pu可与用于同一cu的对应叶tu共置。在一些实例中,叶tu的最大大小可对应于对应叶cu的大小。
50.此外,叶cu的tu还可与相应四元树数据结构(被称作残余四元树(rqt))相关联。即,叶cu可包含指示叶cu如何被分割成tu的四元树。tu四元树的根节点通常对应于叶cu,而cu四元树的根节点通常对应于ctu(或lcu)。未被分裂的rqt的tu被称作叶tu。一般来说,除非另有提到,否则本发明使用术语cu及tu以分别是指叶cu及叶tu。
51.视频序列通常包含一系列视频帧或图片,其始于随机存取点(rap)图片。视频序列可包含表示视频序列的特性的序列参数集(sps)中的语法数据。图片的每一切片可包含描述用于相应切片的编码模式的切片语法数据。视频编码器20通常对个别视频切片内的视频块进行操作,以便编码视频数据。视频块可对应于cu内的译码节点。视频块可具有固定或变化的大小,且其大小可根据指定译码标准而不同。
52.作为实例,可针对各种大小的pu执行预测。假定特定cu的大小为2n
×
2n,那么可对2n
×
2n或n
×
n的pu大小执行帧内预测,且对2n
×
2n、2n
×
n、n
×
2n或n
×
n的对称pu大小执行帧间预测。还可针对2n
×
nu、2n
×
nd、nl
×
2n及nr
×
2n的pu大小执行用于帧间预测的不对称分割。在不对称分割中,cu的一个方向未被分割,而另一方向被分割成25%及75%。对应于25%分割区的cu的部分是由“n”后面接着“向上(up)”、“向下(down)”、“向左(left)”或“向右(right)”的指示予以指示。因此,举例来说,“2n
×
nu”是指被水平地分割为使得2n
×
0.5n pu在顶部且使得2n
×
1.5n pu在底部的2n
×
2n cu。
53.在本发明中,“n
×
n”与“n乘n”可被互换地使用以是指视频块在垂直维度及水平维度方面的像素尺寸,例如,16
×
16像素或16乘16像素。一般来说,16
×
16块将在垂直方向上具有16个像素(y=16)且在水平方向上具有16个像素(x=16)。同样地,n
×
n块通常在垂直方向上具有n个像素且在水平方向上具有n个像素,其中n表示非负整数值。块中的像素可以行及列而布置。此外,块未必需要在水平方向上与在垂直方向上具有相同数目个像素。举例来说,块可包括n
×
m个像素,其中m未必等于n。
54.在使用cu的pu的帧内预测性或帧间预测性译码之后,视频编码器20可计算用于cu的tu的残余数据。pu可包括描述在空间域(也被称作像素域)中产生预测性像素数据的方法或模式的语法数据,且tu可包括在对残余视频数据应用变换(例如,离散余弦变换(dct)、整
数变换、小波变换或概念上相似变换)之后的变换域中的系数。残余数据可对应于未经编码图片的像素与对应于pu的预测值之间的像素差。视频编码器20可将tu形成为包含表示用于cu的残余数据的经量化变换系数。即,视频编码器20可计算残余数据(呈残余块的形式),变换残余块以产生变换系数的块,且接着量化变换系数以形成经量化变换系数。视频编码器20可形成包含经量化变换系数的tu,以及其它语法信息(例如,用于tu的分裂信息)。
55.如上文所提到,在用以产生变换系数的任何变换之后,视频编码器20可执行变换系数的量化。量化通常是指量化变换系数以可能地缩减用以表示所述系数的数据的量而提供进一步压缩的过程。量化过程可缩减与所述系数中的一些或全部相关联的位深度。举例来说,可在量化期间将n位值降值舍位到m位值,其中n大于m。
56.在量化之后,视频编码器可扫描变换系数,从而从包含经量化变换系数的二维矩阵产生一维向量。所述扫描可经设计以将较高能量(且因此将较低频率)系数放置于阵列前方,及将较低能量(且因此将较高频率)系数放置于阵列后方。在一些实例中,视频编码器20可利用预定义扫描次序以扫描经量化变换系数,以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可执行自适应扫描。在扫描经量化变换系数以形成一维向量之后,视频编码器20可(例如)根据上下文自适应可变长度译码(cavlc)、上下文自适应二进制算术译码(cabac)、基于语法的上下文自适应二进制算术译码(sbac)、概率区间分割熵(pipe)译码或另一熵编码方法来熵编码一维向量。视频编码器20还可熵编码与经编码视频数据相关联的语法元素以供视频解码器30用来解码视频数据。
57.为了执行cabac,视频编码器20可将上下文模型内的上下文指派到待发射符号。所述上下文可与(例如)所述符号的相邻值是否为非零相关。为了执行cavlc,视频编码器20可选择用于待发射符号的可变长度码。可构造vlc中的码字,使得相对较短码对应于较可能的符号,而较长码对应于较不可能的符号。以此方式,相比于(例如)针对每一待发射符号使用相等长度的码字,使用vlc可实现位节省。概率确定可基于指派到符号的上下文。
58.一般来说,视频解码器30执行与由视频编码器20执行的过程大体上相似但互逆的过程以解码经编码数据。举例来说,视频解码器30逆量化及逆变换经接收tu的系数以再生残余块。视频解码器30使用经发信预测模式(帧内预测或帧间预测)以形成经预测块。接着,视频解码器30组合经预测块与残余块(逐像素地)以再生原始块。可执行额外处理,例如执行解块过程以缩减沿着块边界的视觉假影。另外,视频解码器30可以与视频编码器20的cabac编码过程大体上相似但互逆的方式而使用cabac来解码语法元素。
59.根据本发明的技术,视频译码器(例如视频编码器20或视频解码器30)可统一nsst语法元素的二值化。举例来说,视频译码器可经配置以使用仅一个二值化(例如,截断或截断一元二值化)。对于nsst语法元素被译码的块,可根据帧内模式且任选地根据块大小条件来定义(且因此由视频译码器确定)nsst语法元素的最大值。举例来说,视频译码器可针对nsst指数应用截断一元二值化,其中如果当前帧内模式为非角度的(例如,对于色度分量为planar或dc,或任选地为lm模式),那么最大值等于3,否则最大值等于4。另外,视频译码器可应用块大小条件。举例来说,视频译码器可确定:如果当前块为正方形或宽度
×
高度小于某一阈值(例如,64),那么最大值等于3。
60.在一个实例中,视频译码器可从二值化码字来上下文熵译码每一二进位或仅某些预定二进位(例如,序数第一数目个二进位)。视频译码器可在不运用上下文建模的情况下
(例如,在旁路模式中)熵译码除了预定二进位以外的二进位。如果nsst单独地应用于亮度及色度,那么上下文建模可单独地用于亮度及色度。替代地,来自二值化码字的二进位可共享用于亮度及色度的上下文,举例来说,指示nsst指数是否为0(意味着nsst未被应用)的用于第一二进位的上下文可在亮度分量与色度分量之间被共享,且其它二进位可具有用于亮度及色度的单独上下文。
61.在另一实例中,用于nsst指数的上下文建模可取决于nsst指数可具有的最大值。举例来说,如果最大值可为3或4,那么可使用一个上下文集以发信用于最大值3的nsst指数,且使用另一上下文集以发信用于最大值4的nsst指数。可针对nsst指数可具有的其它最大值定义相似上下文集,且可使用多于两个最大值。
62.任选地,用于第一二进位的上下文(其指示nsst指数等于0或不等于0)可跨越所有上下文集被共享,或可跨越对应于相同颜色分量(例如对于亮度、色度或两个色度分量,或所有颜色分量)的上下文集被共享。
63.在当前jvet测试模型中,如果pdpc指数不等于0,那么不应用nsst且不发信nsst指数。避免nsst且不发信nsst指数的此过程可降低译码复杂度。然而,本发明认识到,当前实施于jvet测试模型中的过程未必实现最佳译码结果且可能未实现译码器复杂度与位速率之间的所要权衡。
64.根据本发明的技术,当块的nsst指数具有非零值(即,换句话说,将nsst方法应用于当前块)时,视频译码器(例如,视频编码器20或视频解码器30)无需针对所述块应用及/或译码(例如,发信)位置相依帧内预测组合(pdpc)语法元素。这可引起相似译码器复杂度,但所得压缩效率可较高,这是因为nsst方法相较于pdpc通常具有较佳效率。在此状况下,可在位流中在nsst指数之后的位置处发信pdpc指数。
65.另外或替代地,nsst指数上下文可基于pdpc指数。举例来说,如果pdpc指数为0,那么可使用一个上下文以熵译码nsst指数,且如果pdpc指数不为0,那么可使用另一上下文以熵译码nsst指数。在另一实例中,每一pdpc指数可使其自己的上下文用以熵译码nsst指数。另外或替代地,nsst指数的上下文可联合地取决于当前块的pdpc指数及其它元素,例如预测模式、块大小等等。相似地,pdpc指数的上下文可联合地取决于当前块的nsst指数及其它元素,例如预测模式、块大小等等。
66.替代地,如果在pdpc指数之前在位流中译码nsst指数,那么可应用相同方法。在此状况下,在以上方法中,在描述中调换nsst及pdpc。举例来说,如果nsst指数为0,那么可使用一个上下文以熵译码pdpc指数,且如果nsst指数不为0,那么可使用另一个上下文以熵译码pdpc指数。在另一实例中,每一nsst指数可使其自己的上下文用以熵译码pdpc指数。另外或替代地,pdpc指数的上下文可联合地取决于当前块的nsst指数及其它元素,例如预测模式、块大小等等。相似地,nsst指数的上下文可联合地取决于当前块的pdpc指数及其它元素,例如预测模式、块大小等等。
67.此处所提及的pdpc技术可扩展到与帧内/帧间预测技术相关的任何其它技术,及/或此处所提及的nsst技术可扩展到与变换技术相关的任何技术。预测技术的语法元素(指数/旗标/模式)发信可与变换技术的语法元素(指数/旗标/模式)发信交互。交互可为但不限于预测技术语法的上下文取决于变换技术语法的上下文,或反之亦然。
68.另外,视频译码器可经配置以将上文所论述的技术应用于其它译码模式,包含但
不限于pdpc或运动参数继承(mpi)模式。
69.可针对多个分量发信及共享nsst指数。举例来说,可针对亮度(y)分量、蓝色色调色度(cb)分量及红色色调色度(cr)分量发信及共享一个nsst指数。替代地,可针对cb分量及cr分量发信及共享一个nsst指数(可针对y分量发信单独nsst指数)。在一些实例中,当针对多个分量共享一个nsst指数时,nsst指数发信取决于一些条件,且当针对所包含分量中的每一者满足这些条件时,或当针对所包含分量中的若干者(并非全部)满足这些条件,或针对任何所包含分量满足这些条件时,nsst指数不被发信,但被导出为默认值(例如,0)。
70.这些条件可包含但不限于:当块未由某些译码模式译码时的非零系数的数目(或非零系数的绝对值的总和),及这些某些译码模式包含但不限于变换跳过模式及/或lm模式及/或交叉分量预测模式。
71.以上实例中的块可为用于独立考虑的每一分量的块,或其可为一些颜色分量的相关块(例如,cb及cr的相关块),或其可为所有可用分量的块(例如,y、cb及cr的块)。在一个实例中,条件可一起联合地应用于那些块。
72.举例来说,当条件应用于多个分量(例如,cb及cr)时,那么条件可包含但不限于每一所包含分量块的非零系数的数目的总和(或非零系数的绝对值的总和)未由某些译码模式译码,及这些某些译码模式包含但不限于变换跳过模式及/或lm模式及/或交叉分量预测模式,等等。
73.在一些实例中,当发信多个nsst指数,且针对一或多个分量发信每一nsst指数时,可将多个nsst指数联合地二值化为一个语法元素,且可将一个二值化及/或上下文建模应用于此经联合译码的一个语法元素。举例来说,首先可译码旗标以指示是否存在至少一个非零nsst指数(意味着nsst应用于至少一个分量)。在旗标之后,多个nsst指数被二值化为一个语法元素且被译码。在此实例中可移除某一发信冗余。举例来说,如果旗标指示存在至少一个非零nsst指数,那么在所有先前指数具有等于0的值的情况下可将最后发信的nsst指数推断为非零。
74.在以上实例中,可应用联合nsst指数发信技术以发信用于块群组的nsst指数。可针对群组发信旗标以指示存在使用非零nsst指数的至少一个块(在此状况下,旗标等于1),或所有块具有零nsst指数(在此状况下,旗标等于0)。在考虑最后nsst指数不能等于0的情况下,还可针对群组中的最后nsst指数移除发信冗余。在另一实例中,如果仅两个nsst指数(0或1)是可能的,那么在所有先前指数等于0的情况下可不发信最后指数,可将最后nsst指数推断为等于1。在另一实例中,如果多于两个nsst指数值是可能的,那么在所有先前指数等于0的情况下可将最后指数缩减1。
75.可以任何组合形式使用上述技术。
76.nsst指数用作实例。相同技术可应用于任何变换或二次变换指数、旗标或语法元素发信。举例来说,这些技术可应用于发信旋转变换(rot)指数。
77.同样地,pdpc指数也用作实例。相同技术可应用于任何帧内或帧间预测指数、旗标或语法元素发信。举例来说,这些技术可应用于发信运动参数继承(mpi)指数。
78.在一些实例中,视频编码器20及/或视频解码器30可在特殊结构单元(其可被称作发信单元(su))处执行变换相关语法译码(例如,编码/发信或解码/解释)。一般来说,发信单元包含多个块。举例来说,发信单元可对应于qtbt架构的单一四元树

二元树(qtbt)。替
代地,发信单元可对应于块群组,所述块中的每一者对应于不同相应qtbt。
79.在qtbt架构中,发信单元可根据多型树予以分割,多型树包含根据四元树(其中每一节点被分割成零或四个子节点)而分割的第一部分,四元树的每一叶节点可使用二元树分割(其中每一节点被分割成零或两个子节点)予以进一步分割。被分割成零个子节点的每一节点被视为对应树的叶节点。
80.如上文所论述,可针对块群组联合地发信各种语法元素(例如nsst指数、pdpc指数、预测模式、块大小等等)。此联合发信通常可被描述为“在发信单元级别处发信数据”,其中发信单元包含在发信单元级别处发信数据所到的多个块,且此数据应用于包含于发信单元中的每一块。
81.当发信单元形成非i切片(例如p切片或b切片)的部分时可能会出现问题。在这些或其它非i切片中,所述切片可包含使用帧内模式而预测的一些块及使用帧间模式而预测的其它块。然而,一些工具可应用于帧内或帧间模式中的仅一者,而非两者。因此,针对混合块(帧内与帧间)在发信单元级别处发信一些语法可能低效,尤其是当工具不应用于某一预测模式时。
82.因此,本发明还描述可单独地或彼此组合地及/或与上文所论述的技术组合地使用的多种技术。本发明的某些技术可应用于分辨非i切片中的经帧间预测块与经帧内预测块的混合,然而仍具有用于发信单元块的发信。视频译码器可使用以发信单元仅含有受到在发信单元级别处执行的发信影响的块的方式布置于发信单元中的块。
83.举例来说,变换可具有两种类型:第一(或一次)变换及二次变换。按照jvet模型,第一变换可为离散余弦变换(dct)或增强型多重变换(emt),且二次变换可为(例如)nsst及rot。应理解,dct、emt、nsst及rot仅仅为实例,且本发明的技术并不限于这些变换,而是还可使用其它变换(另外或在替代方案中)。
84.出于实例的目的而假定在发信单元级别处发信emt旗标或emt指数,那么那些语法元素具有识别哪一特定变换用于包含于发信单元中的块的值。块可被帧内、帧间或跳过模式预测。经发信emt旗标或emt指数对于经帧内预测块可能有效,但对于经帧间预测块可能较不有效或低效。在此状况下,发信单元可进一步包含以下类型的块中的任一者或两者:1)经帧内预测块及经跳过预测块;及/或2)经帧间预测块及经跳过预测块。
85.根据此实例,在发信单元级别处发信的变换相关语法对于经帧内译码块将有效,但跳过模式是基于残余为0且无需变换的假定,因此经发信变换将不影响经跳过预测块且此发信单元块中将不存在经帧间译码块。相似地,根据发信单元组合物,针对经帧间预测块在发信单元级别处发信的变换相关语法对于经帧间预测块将有效,但其不影响跳过模式,且此发信单元块中将不存在经帧内译码块。
86.通过根据本发明的技术来布置发信单元,某些语法元素可变得冗余。在以上实例中,清楚的是,如果除了变换语法元素以外在发信单元级别处还发信发信单元类型(#1或#2),那么不需要预测模式。在此状况下,无需针对包含于发信单元中的每一块发信预测模式,且可根据发信单元类型来推断预测模式。在一个实例中,可将发信单元类型发信为具有特定于单独语法元素的上下文的那个语法元素,或可再使用及发信预测模式语法元素以指示发信单元类型。
87.作为另一实例,发信单元可包含根据以下布置中的任一者或两者而布置的块:1)
经帧内预测块、经跳过预测块,及残余等于0的经帧间预测块(零块);及/或2)经帧间预测块、经跳过预测块,及具有零残余的经帧内预测块。
88.在上文所论述的第一实例中,经译码块旗标(cbf)语法元素(指示块是否包含零残余,即,块是否包含一或多个非零残余值,即,块是否“经译码”)无需按照用于发信单元类型1的经帧间预测块予以发信,且无需针对用于发信单元类型2的经帧内预测块予以发信,这是由于仅零块是可能的。
89.在又一实例中,可如下构成发信单元:(1)经帧内预测块、经跳过预测块,及残余等于0的经帧间译码块(零块),以及运用变换跳过而译码的块;及/或(2)经帧间预测块、经跳过预测块,及具有零残余的经帧内预测块,以及运用变换跳过而译码的块。
90.相似地,如在以上实例中,cbf语法元素无需按照包含于发信单元中的块予以发信。
91.在以上实例中,发信单元块被分类成两种类型:“帧内相关”类型及“帧间相关”类型。然而,可能仍有可能的是,帧内块与帧间块的混合物可共享相似工具决策,举例来说,变换类型对于经预测块的两种类型可能相同。接着,可将发信单元类型进一步扩展成以下三种类型:(1)经帧内预测块,及具有零残余的经帧间预测块(跳过块、具有零残余的帧间块,或经变换跳过帧间块);(2)经帧间预测块,及具有零残余的帧内块,或经变换跳过帧内块;及(3)在无限定的情况下允许帧间与帧内混合。
92.在此实例中,一些冗余语法元素可能无需按照用于发信单元类型1及2的块(即,在包含于发信单元中的每一块内)予以发信,例如预测模式或cbf语法。代替地,视频编码器20可在发信单元级别处将那些语法元素编码一次且视频解码器30可在发信单元级别处将那些语法元素解码一次,且经译码值可应用于包含于发信单元中的每一块。
93.在以上实例中,emt或第一变换用作实例。以相似方式,可在发信单元级别处发信二次变换(例如nsst或rot),且可在发信单元级别处发信冗余语法元素(例如预测模式或cbf语法),且在块级别处无需发信那些元素。
94.视频编码器20及视频解码器30可使用上下文建模以上下文译码(例如,使用cabac)变换决策相关语法元素。可上下文译码变换相关语法元素,例如来自变换集的旗标或指数,例如但不限于emt旗标、nsst旗标、emt指数、nsst指数等等。可根据块中的非零变换系数的数目、非零变换系数的绝对总和及/或tu内部的非零变换系数的位置(例如,是否存在仅一个非零dc系数)来定义上下文。
95.另外,非零系数的数目可被分类成一些子群组;举例来说,某一范围内的非零系数的数目为一个子群组,另一值范围为另一子群组等等。可按照子群组来定义上下文。
96.另外,可基于块中的最后非零系数的位置来定义上下文,还可基于块中的第一非零系数来定义上下文,及/或另外可基于块中的最后及/或第一系数的值或其正负号(负或正)来定义上下文。
97.下文描述非零系数发信的数目。当前,在hevc或jvet中,针对变换系数发信最后非零系数及有效性图的位置(例如,0—系数为零,1—系数为非零,或反之亦然),以指示直到最后非零系数为止哪些系数为非零。
98.然而,如果块具有仅仅几个系数,那么jvet及hevc的当前发信可能不有效。举例来说,如果变换块具有仅一个非零系数且那个系数不在块的开头中,那么最后位置已经指示
那个系数的位置;然而,仍发信有效性图,其含有全零。
99.本发明还描述与发信额外语法元素相关的技术,额外语法元素具有指示变换块中的非零系数的数目的值。视频编码器20可发信此语法元素的值,且视频解码器30可解码此语法元素的值以确定变换块中的非零变换系数的数目。可使用任何二值化(例如一元码、截断一元码、哥伦布码、指数哥伦布码、莱斯码、固定长度二元码、截断二元码等等)来发信此语法元素值。对于截断二值化,最大元素可为直到最后位置系数为止的可能系数的数目。
100.在一个实例中,可在用于变换块的最后非零系数数字置之后发信此新语法元素。在另一实例中,可在最后非零系数之前发信此新语法元素。在后一状况下,旗标可指示块是否具有仅一个dc系数。
101.由于发信最后非零系数及非零系数的数目,故本发明的技术可引起形成位流的部分的经译码有效性图的大小缩减。举例来说,在发信有效性图时,可计数已经发信的非零系数的数目;当已经发信数目等于非零系数的经发信数目减去1的非零系数时,不需要继续发信用于块的有效性图,这是由于仅可能的下一非零系数为块中的最后系数。
102.在一个实例中,上文所提及的语法元素可为指示变换块是否具有仅一个非零系数的旗标(一个系数旗标)。此旗标可在最后非零系数的位置之后被发信且还可取决于那个位置。举例来说,如果最后非零系数为块中的第一系数(dc),那么已经知晓的是,仅一个系数是可能的,且不需要一个系数旗标。相似地,可仅针对最后非零系数的位置大于某一阈值时的状况发信旗标。举例来说,如果最后非零系数数字置为与块的开头相隔的某一距离,那么发信一个系数旗标。
103.针对一个系数旗标的上下文模型选择可单独地或以任何组合形式取决于块中的最后非零系数的位置、那个最后位置与块的开头相隔的距离、最后非零系数值,及/或那个值的正负号。
104.一个系数旗标可在最后非零系数的位置之后被发信,在另一替代方案中在最后非零系数的位置及其值之后被发信,在又一替代方案中在最后非零系数的位置、其值及正负号之后被发信。这可取决于哪一上下文模型被应用(参见上文)。
105.在又一实例中,一个系数旗标可在最后非零系数数字置之前被发信,且可指示块是否具有仅一个dc(第一变换系数)系数。在此实例中,最后非零系数数字置可取决于那个旗标,且在旗标具有表示“停用”的值时被发信,所述值意味着存在多于一个非零系数或一个系数并非dc系数。另外,可通过从位置坐标减去1来修改最后位置发信,这是由于如果一个系数旗标被停用,那么等于dc系数的最后位置不能被发信;否则,那个旗标将被启用。
106.当此一个系数旗标被发信且具有表示“启用”的值(即,块具有仅一个非零系数)时,可能不需要有效性图,且可仅发信最后系数的位置及其值与正负号。因此,视频编码器20可仅发信最后系数的位置,且视频解码器30可仅接收表示最后系数的位置的数据且确定位流的后续数据应用于语法元素(例如,同一块的语法元素,但与变换系数数据不相关,或后续块的语法元素)的不同集合。
107.一个系数旗标可基于使用哪一变换类型(例如,dct或emt)而被有条件地发信,且可取决于emt旗标或emt指数。另外,一个系数旗标发信可取决于以下各者:二次变换(例如nsst或rot)是否用于块中;二次变换语法,例如nsst旗标、nsst指数、rot旗标或rot指数;等等。举例来说,如果使用二次变换,那么可不发信旗标。
108.针对一个非零系数旗标所描述的更详细实例可应用于在块中发信多于一个非零系数值时的状况。
109.视频编码器20及视频解码器30可基于非零系数而在不同变换类型之间切换。可使用两种不同类型的变换,例如,一种类型为可分离变换且另一类型为非可分离变换。对于每一类型的变换的使用,可添加一些限定,即,针对变换单元内部的某些位置可仅存在非零系数。以此方式,不发信选定类型的变换,但视频解码器30可在解码系数之后根据变换单元内部的非零系数的位置来导出选定类型的变换。通过导出变换类型而非接收明确发信,可缩减经编码视频位流大小,这可由此改善位流效率,而不会将过多复杂度引入到视频解码器30中,且不会损失所得经解码视频数据的质量。另外,以此方式提供多种类型的变换可引起甚至进一步改善位流效率,这在于所得变换类型平均来说可较佳地压缩残余数据。
110.在一个实例中,如果按扫描次序在第n系数之后存在至少一个非零系数(其中n可为预定义的或基于一些条件而导出),那么应用可分离变换;否则(所有非零系数按扫描次序仅存在于前n个系数中)应用非可分离变换。
111.在另一实例中,变换的类型仍是由旗标/指数发信,但用于熵译码(熵编码或熵解码)不同位置处的系数的上下文模型可取决于经发信旗标/指数的值。
112.在另一实例中,用以指示上文所提及的变换选择的旗标或指数是在第n系数或所有系数之后被发信。旗标或指数可被上下文译码,其中上下文取决于最后非零系数的位置。举例来说,上下文可取决于最后非零系数出现于第n系数之前还是之后。如果最后非零系数停止于第n系数自身处,那么在早先所提及的第n系数之前或之后,上下文模型可与任一群组相关联,或可能指派单独上下文。
113.视频编码器20可编码/发信用于发信单元的语法元素,而视频解码器30可解码及解释发信单元的语法元素的值。如早先所描述,可在发信单元级别处发信语法元素。然而,一些语法元素可能不适用于包含到发信单元中的每一块。
114.举例来说,二次变换(例如nsst)可仅应用于经帧内预测块,经帧内预测块具有非零系数。状况可为:发信单元中不存在将被应用二次变换的块。对于这些状况,发信用于此发信单元的nsst信息(例如nsst指数或nsst旗标)并不被需要且可仅是浪费位。在另一实例中,第一变换(例如emt)应用于非零残余块。状况还可为:包含于发信单元中的所有块具有零残余,且发信emt信息(例如emt旗标或emt指数)并不需要用于此发信单元且可仅是浪费位。
115.在一些实例中,视频编码器20可推迟发信单元语法发信直到此发信所适用的包含于发信单元中的第一块为止。换句话说,发信单元语法并不被发信用于按扫描次序在发信单元的开头处的此发信并不适用的块。同样地,视频解码器30将仅将发信单元语法元素的值应用于在发信单元中的发信单元语法元素之后的块。
116.举例来说,视频编码器20可不发信适用于发信单元内的所有块的一些类型的信息,直到发信单元中存在所述信息所适用的块为止。相似地,视频解码器30可不分析适用于发信单元内的所有块的一些类型的信息,直到发信单元中存在所述信息所适用的块为止。信息可为识别特定译码工具、语法元素等等的信息。
117.作为实例,视频编码器20可发信且视频解码器30可接收发信单元中具有非零残余的第一帧内块中的nsst信息(指数、旗标等等)。在另一实例中,视频编码器20可发信且视频
解码器30可接收发信单元中的第一非零块处的emt信息(指数、旗标等等)。这些块可未必在对应发信单元的开头处。在一些实例中,一旦语法元素(例如,用于译码工具的信息或其它类型的语法元素)被发信用于使用语法元素的第一块,那么那个信息就对于按块扫描次序在那个第一块之后的使用语法元素的所有块可均一。然而,这不应被视为在所有状况下的要求。
118.与不管发信单元是否包含发信单元语法元素将适用的任何块而总是在发信单元级别处发信语法元素的发信及接收技术相比较,通过推迟这些语法元素的发信,如果发信单元中不存在需要这些语法元素的块或发信单元中不存在此发信可应用的块,那么可节省与语法元素相关联的位。
119.视频编码器20可利用相似技术以推迟发信单元级别处的其它语法元素(未必是变换相关)发信,这取决于经发信信息及包含于发信单元中的此信息所适用的块类型。推迟发信及分析发信单元的信息的以上实例不应被视为限制性的。
120.各种语法元素可被视为特定于发信单元。一些语法元素可被引入仅用于发信单元且针对其它块可并不存在。举例来说,这些语法元素可为控制旗标及译码模式相关参数。在一个实例中,发信单元语法元素包含如早先所提及的第一变换(例如,emt)及/或二次变换语法元素(例如,nsst或rot旗标及/或指数)中的任一者或全部,且这些语法元素无需针对大于发信单元或并不包含于发信单元中的块而存在。
121.替代地或另外,相比于针对大于发信单元或并不包含于发信单元中的块而发信的相同语法元素,针对发信单元而发信的块的现有语法元素可具有不同范围值或不同语义/解释。在一个实例中,识别何时发信第一变换及二次变换语法元素的非零系数阈值针对发信单元相比于针对其它块可不同。这些阈值可大于或小于用于其它块的对应阈值。
122.举例来说,二次变换(例如nsst或rot)指数及/或旗标可针对发信单元中具有至少一个非零变换系数的块予以发信,且如果大于发信单元或并不包含于发信单元中的块具有至少两个非零系数,那么二次变换指数可针对所述块予以发信。当不发信二次变换指数时,视频解码器30将二次变换指数的值推断为(例如)等于默认值(例如0)。相同技术可应用于第一变换或任何其它变换。
123.这些发信单元特定参数还可根据发信单元所属的切片类型及/或频块而不同。举例来说,i切片、p切片及b切片可具有不同发信单元参数、不同范围值,或不同语义/解释。
124.上文所描述的发信单元参数并不限于变换,而是可与任何译码模式一起使用或可被引入到任何模式。
125.视频编码器20可进一步(例如)在图片标头、块标头、切片标头中将语法数据(例如基于块的语法数据、基于图片的语法数据及基于序列的语法数据)发送到视频解码器30,或发送其它语法数据,例如序列参数集(sps)、图片参数集(pps)或视频参数集(vps)。
126.在适用时,视频编码器20及视频解码器30各自可被实施为多种合适编码器或解码器电路系统中的任一者,例如一或多个微处理器、数字信号处理器(dsp)、专用集成电路(asic)、现场可编程门阵列(fpga)、离散逻辑电路系统、软件、硬件、固件或其任何组合。视频编码器20及视频解码器30中的每一者可包含于一或多个编码器或解码器中,所述一或多个编码器或解码器中的任一者可被集成为组合式视频编码器/解码器(编码解码器)的部分。包含视频编码器20及/或视频解码器30的装置可包括集成电路、微处理器及/或无线通
信装置(例如蜂窝电话)。
127.图2为绘示可实施用于二值化二次变换指数的技术的视频编码器20的实例的框图。视频编码器20可执行视频切片内的视频块的帧内译码及帧间译码。帧内译码依赖于空间预测以缩减或移除给定视频帧或图片内的视频空间冗余。帧间译码依赖于时间预测以缩减或移除视频序列的邻近帧或图片内的视频时间冗余。帧内模式(i模式)可指若干基于空间的译码模式中的任一者。帧间模式(例如单向预测(p模式)或双向预测(b模式))可指若干基于时间的译码模式中的任一者。
128.如图2所展示,视频编码器20接收待编码视频帧内的当前视频块。在图2的实例中,视频编码器20包含模式选择单元40、参考图片存储器64(其也可被称作经解码图片缓冲器(dpb))、求和器50、变换处理单元52、量化单元54及熵编码单元56。模式选择单元40又包含运动补偿单元44、运动估计单元42、帧内预测单元46及分割单元48。为了视频块重构,视频编码器20还包含逆量化单元58、逆变换单元60及求和器62。还可包含解块滤波器(图2中未展示)以滤波块边界以从经重构视频移除块效应假影。视需要,解块滤波器通常将滤波求和器62的输出。除了解块滤波器以外,还可使用额外滤波器(回路内或回路后)。出于简洁起见而未展示这些滤波器,但视需要,这些滤波器可滤波求和器50的输出(作为回路内滤波器)。
129.在编码过程期间,视频编码器20接收待译码视频帧或切片。可将帧或切片划分成多个视频块。运动估计单元42及运动补偿单元44执行经接收视频块相对于一或多个参考帧中的一或多个块的帧间预测性编码以提供时间预测。帧内预测单元46可替代地执行经接收视频块相对于与待译码块相同的帧或切片中的一或多个相邻块的帧内预测性编码以提供空间预测。视频编码器20可执行多个译码遍次,例如,以选择用于每一视频数据块的适当译码模式。
130.此外,分割单元48可基于先前译码遍次中的先前分割方案的评估而将视频数据块分割成子块。举例来说,分割单元48最初可将帧或切片分割成ctu,且基于速率

失真分析(例如,速率

失真优化)而将所述ctu中的每一者分割成子cu。模式选择单元40可进一步产生指示将ctu分割成子cu的四元树数据结构。四元树的叶节点cu可包含一或多个pu及一或多个tu。
131.模式选择单元40可选择预测模式(帧内或帧间)中的一者(例如,基于误差结果),且将所得经预测块提供到求和器50以产生残余数据及将所得经预测块提供到求和器62以重构经编码块以用作参考帧。模式选择单元40还将语法元素(例如运动向量、帧内模式指示符、分割区信息及其它此类语法信息)提供到熵编码单元56。
132.运动估计单元42及运动补偿单元44可高度地集成,但出于概念目的而被单独地绘示。由运动估计单元42执行的运动估计为产生运动向量的过程,运动向量估计视频块的运动。举例来说,运动向量可指示当前视频帧或图片内的视频块的pu相对于在参考帧(或其它经译码单元)内的预测性块(其相对于当前帧(或其它经译码单元)内正被译码的当前块)的位移。预测性块为被发现在像素差方面接近地匹配于待译码块的块,像素差可由绝对差总和(sad)、平方差总和(ssd)或其它差度量确定。在一些实例中,视频编码器20可计算存储于参考图片存储器64中的参考图片的次整数像素位置的值。举例来说,视频编码器20可内插参考图片的四分之一像素位置、八分之一像素位置或其它分数像素位置的值。因此,运动估计单元42可执行相对于全像素位置及分数像素位置的运动搜索且输出具有分数像素精确
度的运动向量。
133.运动估计单元42通过比较pu的位置与参考图片的预测性块的位置而计算经帧间译码切片中的视频块的pu的运动向量。参考图片可选自第一参考图片列表(列表0)或第二参考图片列表(列表1),所述参考图片列表中的每一者识别存储于参考图片存储器64中的一或多个参考图片。运动估计单元42将所计算运动向量发送到熵编码单元56及运动补偿单元44。
134.由运动补偿单元44执行的运动补偿可涉及基于由运动估计单元42确定的运动向量来提取或产生预测性块。再次,在一些实例中,运动估计单元42与运动补偿单元44可功能上集成。在接收到当前视频块的pu的运动向量后,运动补偿单元44就可在参考图片列表中的一者中找到运动向量所指向的预测性块的位置。求和器50通过从正被译码的当前视频块的像素值减去预测性块的像素值来形成残余视频块,从而形成像素差值,如下文所论述。一般来说,运动估计单元42相对于亮度分量而执行运动估计,且运动补偿单元44将基于所述亮度分量所计算的运动向量用于色度分量与亮度分量两者。模式选择单元40还可产生与视频块及视频切片相关联的语法元素以供视频解码器30用来解码视频切片的视频块。
135.如上文所描述,作为由运动估计单元42及运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可帧内预测当前块。具体地说,帧内预测单元46可确定待用以编码当前块的帧内预测模式。在一些实例中,帧内预测单元46可(例如)在单独编码遍次期间使用各种帧内预测模式来编码当前块,且帧内预测单元46(或在一些实例中为模式选择单元40)可从经测试模式选择待使用的适当帧内预测模式。
136.举例来说,帧内预测单元46可使用对于各种经测试帧内预测模式的速率

失真分析来计算速率

失真值,且在经测试模式之中选择具有最佳速率

失真特性的帧内预测模式。速率

失真分析通常确定经编码块与原始、未经编码块(其经编码以产生经编码块)之间的失真(或误差)量,以及用以产生经编码块的位速率(即,位的数目)。帧内预测单元46可根据各种经编码块的失真及速率来计算比率以确定哪一帧内预测模式展现所述块的最佳速率

失真值。
137.在选择用于块的帧内预测模式之后,帧内预测单元46可将指示用于块的选定帧内预测的信息提供到熵编码单元56。熵编码单元56可编码指示选定帧内预测模式的信息。视频编码器20可在经发射位流中包含以下各者:配置数据,其可包含多个帧内预测模式指数表及多个经修改帧内预测模式指数表(也被称作码字映射表);编码各种块的上下文的定义;及待用于所述上下文中的每一者的最可能帧内预测模式、帧内预测模式指数表及经修改帧内预测模式指数表的指示。
138.视频编码器20通过从正被译码的原始视频块减去来自模式选择单元40的预测数据而形成残余视频块。求和器50表示执行此减去运算的组件。变换处理单元52将变换(例如离散余弦变换(dct)或概念上相似变换)应用于残余块,从而产生包括变换系数值的视频块。可使用小波变换、整数变换、子频带变换、离散正弦变换(dst)或其它类型的变换代替dct。在任何状况下,变换处理单元52将变换应用于残余块,从而产生变换系数的块。变换可将残余信息从像素域转换到变换域,例如频域。
139.另外,在一些实例中,例如,当块被帧内预测时,变换处理单元52可将二次变换(例如非可分离二次变换(nsst))应用于由第一变换产生的变换系数。变换处理单元52还可将
用于块的二次变换语法元素的一或多个值传递到熵编码单元56,以供熵编码。熵编码单元56可根据本发明的技术来熵编码如下文关于图3更详细地所论述的这些及/或其它语法元素(例如,二次变换语法元素或其它发信单元语法元素)。
140.变换处理单元52可将所得变换系数发送到量化单元54。量化单元54量化变换系数以进一步缩减位速率。量化过程可缩减与所述系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。
141.在量化之后,熵编码单元56熵编码经量化变换系数(及用于相关语法元素的任何对应值,相关语法元素是例如二次变换语法元素、发信单元语法元素、译码工具语法元素、增强型多重变换(emt)语法元素,等等)。举例来说,熵编码单元56可执行上下文自适应可变长度译码(cavlc)、上下文自适应二进制算术译码(cabac)、基于语法的上下文自适应二进制算术译码(sbac)、概率区间分割熵(pipe)译码或另一熵译码技术。在基于上下文的熵译码的状况下,上下文可基于相邻块。在熵编码单元56的熵译码之后,可将经编码位流发射到另一装置(例如,视频解码器30)或加以存档以供稍后发射或检索。
142.根据本发明的技术,视频编码器20可编码在发信单元级别的某些语法元素。发信单元通常包含关于视频数据的两个或多于两个块(例如,译码树型块(ctb)或译码单元(cu))的语法元素。举例来说,块可对应于共同qtbt结构的不同分支/节点,或对应于相异qtbt结构。
143.如上文所论述,在一个实例中,视频编码器20可推迟发信单元的发信语法元素直到视频编码器20遇到那些发信单元语法元素所相关的块为止。以此方式,如果发信单元最终不包含发信单元语法元素所相关的任何块,那么视频编码器20可完全避免编码发信单元语法元素。如果发信单元确实含有发信单元语法元素所相关的块,那么视频编码器20可编码这些语法元素以形成按编码/解码次序在发信单元语法元素不相关的块之后及在发信单元语法元素所相关的块之前的位流的部分。发信单元语法元素可包含nsst信息(nsst旗标及/或指数)、emt信息(emt旗标及/或指数)等等中的任一者或全部。
144.举例来说,模式选择单元40可确定经帧内预测块得到零还是非零残余(如由求和器50所计算)。模式选择单元40可等待用于发信单元的发信单元语法元素的确定直到具有非零残余的经帧内预测块(即,具有至少一个非零系数的残余块)已被编码为止。在识别具有非零残余的经帧内预测块之后,模式选择单元40可确定待编码用于包含经帧内预测块的发信单元的一或多个发信单元语法元素,且此外,熵编码单元56可熵编码按编码/解码次序在发信单元的其它块之后但在发信单元的经帧内预测块之前的位置处的发信单元语法元素的值。
145.逆量化单元58及逆变换单元60分别应用逆量化及逆变换以重构像素域中的残余块。具体地说,求和器62将经重构残余块与由运动补偿单元44或帧内预测单元46早先产生的运动补偿预测块相加,以产生用于存储于参考图片存储器64中的经重构视频块。所述经重构视频块可由运动估计单元42及运动补偿单元44使用,作为参考块以帧间译码后续视频帧中的块。
146.图2的视频编码器20表示可经配置以进行以下操作的视频编码器的实例:确定用于视频数据块的二次变换(例如,非可分离二次变换(nsst))语法元素的最大值;及基于经确定最大值来二值化二次变换(例如,nsst)语法元素的值。视频编码器20可进一步熵编码
二次变换(例如,nsst)语法元素的值。
147.图3为根据本发明的技术的可经配置以执行cabac的实例熵编码单元56的框图。熵编码单元56最初接收语法元素118。如果语法元素118已经为二元值语法元素,那么可跳过二值化步骤。如果语法元素118为非二元值语法元素,那么二值化器120二值化语法元素。
148.二值化器120执行非二元值到一连串二元决策的映射。这些二元决策可被称作“二进位”。举例来说,对于变换系数级别,可将级别的值分解成连续二进位,每一二进位指示系数级别的绝对值是否大于某一值。举例来说,对于变换系数,二进位0(有时被称为有效性旗标)指示变换系数级别的绝对值是否大于0;二进位1指示变换系数级别的绝对值是否大于1;等等。可针对每一非二元值语法元素产生唯一映射。
149.二值化器120将每一二进位传递到熵编码单元56的二进制算术编码侧。即,针对一组预定非二元值语法元素,每一二进位类型(例如,二进位0)是在下一二进位类型(例如,二进位1)之前被编码。根据本发明的技术,当二值化经帧内预测的视频数据块的二次变换语法元素(例如非可分离二次变换(nsst)语法元素)的值时,二值化器120可(例如)基于用以预测块的帧内预测模式及/或其它参数(例如块的大小)来确定用于块的二次变换(例如,nsst)语法元素的最大可能值。
150.在一个实例中,如果用于块的帧内预测模式为用于色度分量的dc、平面或lm模式,那么二值化器120确定nsst指数的最大可能值等于3,且否则nsst指数的最大可能值等于4。二值化器120接着基于经确定最大可能值不管经确定最大可能值而使用共同二值化技术(例如,不管nsst指数的经确定最大可能值为3还是4而使用截断一元二值化)来二值化nsst指数的实际值。
151.可以常规模式或旁路模式执行熵编码。在旁路模式中,旁路编码引擎126使用固定概率模型(例如,使用哥伦布

莱斯或指数哥伦布编码)来执行算术编码。旁路模式通常用于更多可预测语法元素。
152.常规模式cabac中的熵编码涉及执行基于上下文的二进制算术编码。通常执行常规模式cabac以在给出先前经译码二进位的值的情况下编码二进位的值的概率可预测所针对的二进位值。上下文建模器122确定二进位为最不可能符号(lps)的概率。上下文建模器122将二进位值及上下文模型(例如,概率状态σ)输出到常规编码引擎124。上下文模型可为用于一系列二进位的初始上下文模型,或上下文建模器122可基于先前经编码二进位的经译码值来确定上下文模型。上下文建模器122可基于先前经译码二进位为mps还是lps来更新上下文状态。
153.根据本发明的技术,上下文建模器122可经配置以基于上文所论述的二次变换语法元素的经确定最大可能值来确定用于熵编码二次变换语法元素(例如nsst语法元素)的上下文模型。
154.在上下文建模器122确定上下文模型及概率状态σ之后,常规编码引擎124使用上下文模型而对二进位值执行bac。替代地,在旁路模式中,旁路编码引擎126旁路编码来自二值化器120的二进位值。在任一状况下,熵编码单元56输出包含经熵编码数据的经熵编码位流。
155.以此方式,图1及2的视频编码器20(及关于图3所描述的其熵编码单元56)表示包含以下各者的视频编码器的实例:存储器,其经配置以存储视频数据;及一或多个处理器,
其实施于电路系统中且经配置以进行以下操作:使用二次变换来变换视频数据块的中间变换系数;确定用于块的二次变换语法元素的最大可能值,二次变换语法元素的值表示二次变换;不管最大可能值而使用共同二值化方案来二值化二次变换语法元素的值;及熵编码块的二次变换语法元素的经二值化值以形成表示用于块的二次变换的经二值化值。
156.图4为绘示可实施用于二值化二次变换指数的技术的视频解码器30的实例的框图。在图4的实例中,视频解码器30包含熵解码单元70、运动补偿单元72、帧内预测单元74、逆量化单元76、逆变换单元78、参考图片存储器82及求和器80。在一些实例中,视频解码器30可执行与关于视频编码器20(图2)所描述的编码遍次大体上互逆的解码遍次。
157.在一些实例中,熵解码单元70解码发信单元的某些语法元素。举例来说,视频解码器30可确定视频数据的两个或多于两个块对应于共同发信单元。熵解码单元70可根据本发明的技术来熵解码用于发信单元的语法元素。举例来说,熵解码单元70可熵解码二次变换语法元素(例如非可分离二次变换(nsst)指数及/或旗标)、增强型多重变换(emt)语法元素(例如,emt指数及/或旗标)等等。熵解码单元70可熵解码在发信单元的一或多个块之后但在发信单元的一或多个其它块之前的发信单元语法元素,且仅将发信单元语法元素的值应用于按解码次序在语法元素之后的块。
158.此外,视频解码器30可从语法元素的存在推断某些数据,例如,紧随这些发信单元语法元素的块被帧间预测且具有非零残余。因此,视频解码器可确定相关块级别语法元素(例如,指示块被帧内预测且块被译码(即,具有非零残余值))不存在于位流中,且由此确定位流的后续数据应用于其它语法元素。
159.另外,熵解码单元70可如下文关于图5更详细地所论述而熵解码数据。举例来说,根据本发明的技术,熵解码单元70可不管二次变换语法元素值的最大可能值而使用共同二值化方案(例如,截断一元二值化)来反向二值化二次变换语法元素值。
160.运动补偿单元72可基于从熵解码单元70接收的运动向量来产生预测数据,而帧内预测单元74可基于从熵解码单元70接收的帧内预测模式指示符来产生预测数据。
161.在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块及关联语法元素的经编码视频位流。视频解码器30的熵解码单元70熵解码位流以产生经量化系数、运动向量或帧内预测模式指示符及其它语法元素。熵解码单元70将运动向量及其它语法元素转递到运动补偿单元72。视频解码器30可在视频切片级别及/或视频块级别处接收语法元素。
162.当视频切片被译码为经帧内译码(i)切片时,帧内预测单元74可基于经发信的帧内预测模式及来自当前帧或图片的先前经解码块的数据来产生当前视频切片的视频块的预测数据。当视频帧被译码为经帧间译码(即,b或p)切片时,运动补偿单元72基于运动向量及从熵解码单元70接收的其它语法元素来产生用于当前视频切片的视频块的预测性块(假定视频块被帧间预测)。可从参考图片列表中的一者内的参考图片中的一者产生帧间预测性块。视频解码器30可基于存储于参考图片存储器82中的参考图片而使用默认构造技术来构造参考帧列表:列表0及列表1。p及b切片的块还可被帧内预测。
163.运动补偿单元72通过分析运动向量及其它语法元素来确定用于当前视频切片的视频块的预测信息,且使用所述预测信息以产生用于正被解码的当前视频块的预测性块。举例来说,运动补偿单元72使用经接收语法元素中的一些以确定用以译码视频切片的视频
块的预测模式(例如,帧内或帧间预测)、帧间预测切片类型(例如,b切片或p切片)、用于所述切片的参考图片列表中的一或多者的构造信息、用于所述切片的每一经帧间编码视频块的运动向量、用于所述切片的每一经帧间译码视频块的帧间预测状态,及用以解码当前视频切片中的视频块的其它信息。
164.运动补偿单元72还可基于内插滤波器来执行内插。运动补偿单元72可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器,以计算参考块的次整数像素的经内插值。在此状况下,运动补偿单元72可根据经接收语法元素来确定由视频编码器20使用的内插滤波器且使用所述内插滤波器以产生预测性块。
165.逆量化单元76逆量化(即,解量化)位流中所提供且由熵解码单元70解码的经量化变换系数。逆量化过程可包含使用由视频解码器30针对视频切片中的每一视频块计算的量化参数qp
y
以确定应被应用的量化程度且同样地确定逆量化程度。
166.逆变换单元78将逆变换(例如,逆dct、逆整数变换或概念上相似逆变换过程)应用于变换系数,以便在像素域中产生残余块。
167.在运动补偿单元72基于运动向量及其它语法元素来产生用于当前视频块的预测性块之后,视频解码器30通过求和来自逆变换单元78的残余块与由运动补偿单元72产生的对应预测性块而形成经解码视频块。求和器80表示执行此求和运算的组件。视需要,还可应用解块滤波器以滤波经解码块以便移除块效应假影。还可使用其它回路滤波器(在译码回路中或在译码回路之后)以使像素转变平滑,或以其它方式改善视频质量。接着将给定帧或图片中的经解码视频块存储于参考图片存储器82中,参考图片存储器82存储用于后续运动补偿的参考图片。参考图片存储器82还存储经解码视频以供稍后呈现于显示装置(例如图1的显示装置32)上。
168.图4的视频解码器30表示可经配置以进行以下操作的视频解码器的实例:确定用于视频数据块的二次变换(例如,非可分离二次变换(nsst))语法元素的最大值;及基于经确定最大值来二值化nsst语法元素的值。视频解码器30可进一步熵解码nsst语法元素的值。
169.图5为根据本发明的技术的可经配置以执行cabac的实例熵解码单元70的框图。图5的熵解码单元70以与图5所描述的熵编码单元56的方式互逆的方式执行cabac。熵解码单元70从位流218接收经熵编码位。熵解码单元70基于经熵编码位是使用旁路模式还是常规模式被熵编码而将经熵编码位提供到上下文建模器220或旁路解码引擎222。如果经熵编码位是以旁路模式被熵编码,那么旁路解码引擎222使用旁路解码(例如哥伦布

莱斯或指数哥伦布解码)以熵解码经熵编码位。
170.如果经熵编码位是以常规模式被熵编码,那么上下文建模器220可确定用于经熵编码位的概率模型且常规解码引擎224可熵解码经熵编码位以产生非二元值语法元素的二进位(或在二元值的情况下的语法元素自身)。
171.上下文建模器220可使用本发明的技术来确定某些语法元素(例如二次变换语法元素及/或增强型多重变换(emt)语法元素(例如,nsst指数、nsst旗标、emt指数、emt旗标等等))的上下文模型及概率状态。举例来说,上下文建模器220可基于nsst语法元素的经确定最大可能值来确定上下文模型。熵解码单元70可基于(例如)nsst语法元素所对应的块的帧内预测模式及/或块的大小来确定nsst语法元素的最大可能值。
172.在上下文建模器220确定上下文模型及概率状态σ之后,常规解码引擎224基于经确定上下文模型而对二进位值执行二进制算术解码。
173.在常规解码引擎224或旁路解码引擎222熵解码二进位之后,反向二值化器230可执行反向映射以将二进位转换回成非二元值语法元素的值。根据本发明的技术,反向二值化器230可不管二次变换语法元素值的最大可能值而使用共同二值化方案(例如,截断一元二值化)来反向二值化二次变换语法元素值(例如nsst、rot及/或emt值)。
174.举例来说,当反向二值化经帧内预测的视频数据块的二次变换语法元素(例如非可分离二次变换(nsst)语法元素)的值时,反向二值化器230可(例如)基于用以预测块的帧内预测模式及/或其它参数(例如块的大小)来确定用于块的二次变换(例如,nsst)语法元素的最大可能值。
175.在一个实例中,如果用于块的帧内预测模式为用于色度分量的dc、平面或lm模式,那么反向二值化器230确定nsst指数的最大可能值等于3,且否则nsst指数的最大可能值等于4。反向二值化器230接着基于经确定最大可能值不管经确定最大可能值而使用共同二值化技术(例如,不管nsst指数的经确定最大可能值为3还是4而使用截断一元反向二值化)从经熵解码二进位字符串反向二值化nsst指数的实际值。
176.以此方式,图1及4的视频解码器30(包含关于图5所描述的熵解码单元70)表示包含以下各者的视频解码器的实例:存储器,其经配置以存储视频数据;及一或多个处理器,其实施于电路系统中且经配置以进行以下操作:确定用于视频数据块的二次变换语法元素的最大可能值;熵解码块的二次变换语法元素的值以形成表示用于块的二次变换的经二值化值;不管最大可能值而使用共同二值化方案来反向二值化二次变换语法元素的值以确定用于块的二次变换;及使用经确定二次变换来逆变换块的变换系数。
177.图6为根据本发明的技术的绘示编码视频数据的实例方法的流程图。出于实例及阐释的目的,关于如上文关于图1、2及3所论述的视频编码器20及其组件来阐释图6的方法。然而,应理解,在其它实例中,其它视频编码装置可执行此方法或符合本发明的技术的相似方法。
178.最初,视频编码器20接收待编码块(250)。在此实例中,假定视频编码器20的模式选择单元40确定以帧内预测块(252)。尽管图6中未展示,但此决策可包含使用各种预测模式(包含帧内或帧间预测模式)来预测块,及最终确定块将使用特定帧内预测模式(例如,角度模式或非角度模式,例如dc、平面或lm模式)被帧内预测。视频编码器20的帧内预测单元46接着使用帧内预测模式来帧内预测块,从而产生经预测块。
179.求和器50接着计算残余块(254)。具体地说,求和器50计算原始块与经预测块之间的逐像素差以计算残余块,其中残余块的每一值(样本)表示对应像素差。
180.变换处理单元52接着使用第一变换(例如dct或emt)来变换残余块(256)以产生中间变换系数。在此实例中,变换处理单元52还将二次变换(例如nsst或rot)应用于由第一变换引起的中间变换系数(258)。在一些实例中,变换处理单元52可从多个可用二次变换选择二次变换。因此,变换处理单元52可产生一或多个二次变换语法元素(例如,nsst旗标、nsst指数、rot旗标、rot指数、emt旗标及/或emt指数)的值,且将这些语法元素值提供到熵编码单元56。
181.量化单元54量化由二次(或任何后续)变换产生的最终变换系数,且熵编码单元56
熵编码经量化变换系数(260),以及块的其它语法元素(例如,表示预测模式的语法元素、表示块的大小的分割区语法元素等等)。在一些实例中,熵编码单元56还熵编码包含块的发信单元的发信单元语法元素。如果块为被应用这些发信单元语法元素的第一块,那么熵编码单元56可编码发信单元语法元素且在输出用于块的其它基于块的语法元素之前输出经熵编码发信单元语法元素,如上文所论述。
182.熵编码单元56还熵编码如上文所论述的二次变换语法。具体地说,二值化器120根据本发明的技术来二值化二次变换语法元素(264)。举例来说,二值化器120可执行特定二值化方案(例如截断一元二值化),而不管二次变换语法元素的最大可能值。
183.二值化器120可基于(例如)用以帧内预测块的帧内预测模式来确定二次变换语法元素的最大可能值,如上文所论述。举例来说,如果帧内预测模式为非角度模式,那么二值化器120可确定二次变换语法元素的最大可能值为3,但如果帧内预测模式为角度模式,那么二值化器120可确定二次变换语法元素的最大可能值为4。尽管可在二值化期间使用此确定,但在一些实例中,此确定不会影响实际二值化方案(例如,截断一元二值化),二值化器120执行所述实际二值化方案以二值化二次变换语法元素值。
184.在二值化之后,上下文建模器122可确定用以熵编码二次变换语法元素的上下文(266)。在一些实例中,上下文建模器122基于如上文所论述而确定的二次变换语法元素的最大可能值来选择上下文。常规编码引擎124接着可使用经确定上下文来熵编码二次变换语法元素的经二值化值(268)。
185.以此方式,图6的方法表示编码视频数据的方法的实例,所述方法包含:使用二次变换来变换视频数据块的中间变换系数;确定用于块的二次变换语法元素的最大可能值,二次变换语法元素的值表示二次变换;不管最大可能值而使用共同二值化方案来二值化二次变换语法元素的值;及熵编码块的二次变换语法元素的经二值化值以形成表示用于块的二次变换的经二值化值。
186.图7为根据本发明的技术的绘示解码视频数据的方法的实例的流程图。出于实例及阐释的目的,关于如上文关于图1、4及5所论述的视频解码器30及其组件来阐释图7的方法。然而,应理解,在其它实例中,其它视频编码装置可执行此方法或符合本发明的技术的相似方法。
187.最初,熵解码单元70熵解码视频数据块的预测信息及经量化变换系数(280)。根据本发明的技术,熵解码单元70还熵解码用于块的二次变换语法元素。具体地说,上下文建模器220确定用以熵解码二次变换语法元素的上下文(282)。上下文建模器220可基于二次变换语法元素的最大可能值来确定上下文。举例来说,如果帧内预测模式为非角度模式(例如dc、平面或lm模式),那么上下文建模器220可确定二次变换语法元素的最大可能值为3,但否则,如果帧内预测模式为角度模式,那么上下文建模器220可确定最大可能值为4。上下文建模器220接着可从二次变换语法元素的最大可能值确定上下文。常规解码引擎224接着可使用经确定上下文来熵解码二次变换语法元素的数据(284)。
188.反向二值化器230接着可反向二值化用于二次变换语法元素的经熵解码数据(286),以产生二次变换语法元素的值。此值可表示(例如)二次变换是否将被应用(例如,nsst旗标或rot旗标),且如果如此,那么可表示多个二次变换中的哪一者将被应用(例如,nsst指数或rot指数)。
189.逆量化单元76接着可逆量化用于块的经熵解码系数(288)。逆变换单元78可使用二次变换语法元素的值以确定是否执行二次变换,且如果如此,那么确定应用多个二次变换中的哪一者。图7中假定应用二次变换。因此,逆变换78最初使用二次变换来逆变换变换系数(290)以产生中间变换系数,接着使用第一变换(例如dct或emt)来逆变换中间变换系数(292)以再生用于块的残余块。
190.帧内预测单元74还使用所指示帧内预测模式来帧内预测块(294)以产生用于块的经预测块。求和器80接着逐像素地组合经预测块与残余块以产生经解码块(296)。最终,视频解码器30输出经解码块。视频解码器30还可在参考图片存储器82中存储经解码块,例如,以用来帧内或帧间预测随后解码的块。
191.以此方式,图7的方法表示包含以下操作的方法的实例:确定用于视频数据块的二次变换语法元素的最大可能值;熵解码块的二次变换语法元素的值以形成表示用于块的二次变换的经二值化值;基于经确定最大可能值来反向二值化二次变换语法元素的值以确定用于块的二次变换;及使用经确定二次变换来逆变换块的变换系数。
192.应认识到,取决于实例,本文中所描述的技术中的任一者的某些动作或事件可以不同序列执行,可添加、合并或完全省略所述动作或事件(例如,并非所有所描述动作或事件对于所述技术的实践皆是必要的)。此外,在某些实例中,动作或事件可同时执行(例如,经由多线程处理、中断处理或多个处理器)而非依序执行。
193.在一或多个实例中,所描述的功能可以硬件、软件、固件或其任何组合予以实施。如果以软件予以实施,那么所述功能可作为一或多个指令或代码而存储于计算机可读媒体上或经由计算机可读媒体进行发射,且由基于硬件的处理单元执行。计算机可读媒体可包含:计算机可读存储媒体,其对应于有形媒体(例如数据存储媒体);或通信媒体,其包含促进将计算机程序从一处传送到另一处(例如,根据通信协议)的任何媒体。以此方式,计算机可读媒体通常可对应于(1)非暂时性的有形计算机可读存储媒体或(2)例如信号或载波的通信媒体。数据存储媒体可为可由一或多个计算机或一或多个处理器存取以检索指令、代码及/或数据结构以用于实施本发明中所描述的技术的任何可用媒体。计算机过程产品可包含计算机可读媒体。
194.作为实例而非限制,这些计算机可读存储媒体可包括ram、rom、eeprom、cd

rom或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、闪速存储器,或可用以存储呈指令或数据结构的形式的所要程序代码且可由计算机存取的任何其它媒体。此外,将任何连接适当地称为计算机可读媒体。举例来说,如果使用同轴电缆、光缆、双绞线、数字订户线(dsl)或无线技术(例如红外线、无线电及微波)而从网站、服务器或其它远程源发射指令,那么同轴电缆、光缆、双绞线、dsl或无线技术(例如红外线、无线电及微波)包含于媒体的定义中。然而,应理解,计算机可读存储媒体及数据存储媒体并不包含连接、载波、信号或其它暂时性媒体,而是涉及非暂时性有形存储媒体。如本文中所使用,磁盘及光盘包含紧密光盘(cd)、激光光盘、光学光盘、数字多功能光盘(dvd)、软盘及蓝光光盘,其中磁盘通常以磁性方式再生数据,而光盘运用激光以光学方式再生数据。以上各者的组合也应包含于计算机可读媒体的范围内。
195.指令可由一或多个处理器执行,一或多个处理器是例如一或多个数字信号处理器(dsp)、通用微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)或其它等效集成式
或离散逻辑电路系统。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任何其它结构中的任一者。另外,在一些方面中,本文中所描述的功能性可提供于经配置用于编码及解码的专用硬件及/或软件模块内,或并入于组合式编码解码器中。此外,所述技术可完全地实施于一或多个电路或逻辑元件中。
196.本发明的技术可实施于各种各样的装置或设备中,所述装置或设备包含无线手机、集成电路(ic)或ic集合(例如,芯片集)。在本发明中描述各种组件、模块或单元,以强调经配置以执行所揭示技术的装置的功能方面,但未必需要由不同硬件单元来实现。更确切地,如上文所描述,各种单元可组合于编码解码器硬件单元中,或结合合适软件及/或固件通过互操作性硬件单元(包含如上所描述的一或多个处理器)的集合来提供。
197.已描述了各种实例。这些及其它实例是在所附权利要求书的范围内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1