速率失真优化量化中的等级决定.pdf

上传人:a3 文档编号:660964 上传时间:2018-03-02 格式:PDF 页数:48 大小:3.37MB
返回 下载 相关 举报
摘要
申请专利号:

CN201380019185.4

申请日:

2013.03.14

公开号:

CN104221375A

公开日:

2014.12.17

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04N19/172申请日:20130314|||公开

IPC分类号:

H04N19/172(2014.01)I; H04N19/18(2014.01)I; H04N19/126(2014.01)I; H04N19/147(2014.01)I; H04N19/149(2014.01)I

主分类号:

H04N19/172

申请人:

高通股份有限公司

发明人:

于洋; 穆罕默德·蔡德·科班; 马尔塔·卡切维奇

地址:

美国加利福尼亚州

优先权:

2012.04.13 US 61/623,929; 2012.04.13 US 61/623,948; 2012.04.13 US 61/624,116; 2013.03.13 US 13/800,155

专利代理机构:

北京律盟知识产权代理有限责任公司 11287

代理人:

宋献涛

PDF下载: PDF下载
内容摘要

一种例如视频编码器等计算装置确定用于系数块的系数的初始经量化等级,并且确定所述系数是否小于所述初始经量化等级与量化步长值的乘积。响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积,所述计算装置确定将所述系数量化成是用于所述系数的所述初始经量化等级、所述初始经量化等级减去一以及在一些情形中量化成0的速率失真成本。所述计算装置至少部分地基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级,并且在所述系数块的经量化版本中包含实际经量化等级。

权利要求书

1.  一种对视频数据进行编码的方法,所述方法包括:
确定用于系数块的系数的初始经量化等级;
确定所述系数是否小于所述初始经量化等级与量化步长值的乘积;以及
响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积:
确定将所述系数量化成是所述初始经量化等级和所述初始经量化等级减去一的速率失真成本;以及
至少部分地基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级。

2.
  根据权利要求1所述的方法,其进一步包括无需确定所述速率失真成本并且响应于确定所述系数不小于所述初始经量化等级与所述量化步长值的所述乘积,确定用于所述系数的所述实际经量化等级是用于所述系数的所述初始经量化等级。

3.
  根据权利要求1所述的方法,其进一步包括:响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积:
响应于确定所述初始经量化等级小于三,确定将所述系数量化成是用于所述系数的所述初始经量化等级、所述初始经量化等级减去一的所述速率失真成本以及将所述系数量化成零的速率失真成本;以及
响应于确定所述初始经量化等级大于或等于三,确定将所述系数量化成是所述初始经量化等级和所述初始经量化等级减去一的所述速率失真成本。

4.
  根据权利要求1所述的方法,其中所述系数按照反向扫描次序在所述系数块中在第一非零系数之后出现。

5.
  根据权利要求1所述的方法,其进一步包括确定最后有效系数,所述最后有效系数按照反向扫描次序是所述系数块的所述第一非零系数。

6.
  根据权利要求1所述的方法,其进一步包括:
对所述实际经量化等级进行熵编码;以及
输出包含所述经熵编码的实际经量化等级的位流。

7.
  根据权利要求1所述的方法,其中确定所述实际经量化等级包括选择产生最低速率失真成本的实际经量化等级。

8.
  根据权利要求7所述的方法,其进一步包括通过将所述实际经量化等级与所述量化步长值相乘而产生所述系数的经重建的值。

9.
  根据权利要求1所述的方法,其中确定用于所述系数的所述初始经量化等级包括计算

其中z是用于所述系数的所述初始经量化等级,W是所述系数的初始值,f是用于所述系数的量化偏移,Δ是量化步长,标示朝向负无穷大舍入到最近的整数,并且sign()是返回所述系数的所述初始值的正负号的函数。

10.
  根据权利要求1所述的方法,其中:
所述方法进一步包括:
至少部分地基于前一帧的上下文模型的熵,确定用于所述上下文模型的速率值;以及
产生针对所述上下文模型中的每一个指示λ的值乘以用于所述上下文模型的所述速率值的表,其中λ是固定值;并且
其中确定所述速率失真成本包括至少部分地基于所述表中的所述值确定将所述系数量化成是用于所述系数的所述初始经量化等级、所述初始经量化等级减去一和零的所述速率失真成本。

11.
  一种对视频数据进行编码的计算装置,所述计算装置包括经配置以进行以下操作的一或多个处理器:
确定用于系数块的系数的初始经量化等级;
确定所述系数是否小于所述初始经量化等级与量化步长值的乘积;以及
响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积:
确定将所述系数量化成是所述初始经量化等级和所述初始经量化等级减一去 的速率失真成本;以及
基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级。

12.
  根据权利要求11所述的计算装置,其中所述一或多个处理器进一步经配置以无需确定所述速率失真成本并且响应于确定所述系数不小于所述初始经量化等级与所述量化步长值的所述乘积,确定用于所述系数的所述实际经量化等级是用于所述系数的所述初始经量化等级。

13.
  根据权利要求11所述的计算装置,其中所述一或多个处理器经配置以:
响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积:
响应于确定所述初始经量化等级小于三,确定将所述系数量化成是用于所述系数的所述初始经量化等级、所述初始经量化等级减去一的所述速率失真成本以及将所述系数量化成零的速率失真成本;以及
响应于确定所述初始经量化等级大于或等于三,确定将所述系数量化成是所述初始经量化等级和所述初始经量化等级减去一的所述速率失真成本。

14.
  根据权利要求11所述的计算装置,其中所述系数按照反向扫描次序在所述系数块中在第一非零系数之后出现。

15.
  根据权利要求11所述的计算装置,其中所述一或多个处理器进一步经配置以确定最后有效系数,所述最后有效系数按照反向扫描次序是所述第一非零系数。

16.
  根据权利要求11所述的计算装置,其中所述一或多个处理器进一步经配置以:
对所述实际经量化等级进行熵编码;以及
输出包含所述经熵编码的实际经量化等级的位流。

17.
  根据权利要求11所述的计算装置,其中所述一或多个处理器经配置以至少部分地通过选择产生最低速率失真成本的实际经量化等级来确定所述实际经量化等级。

18.
  根据权利要求17所述的计算装置,其中所述一或多个处理器进一步经配置以通过使所述实际经量化等级乘以所述量化步长值而产生所述系数的经重建的值。

19.
  根据权利要求11所述的计算装置,其中所述一或多个处理器经配置以通过计算下式来确定用于所述系数的所述初始经量化等级

其中z是用于所述系数的所述初始经量化等级,W是所述系数的初始值,f是用于所述系数的量化偏移,Δ是量化步长,标示朝向负无穷大舍入到最近的整数,并且sign()是返回所述系数的所述初始值的正负号的函数。

20.
  根据权利要求11所述的计算装置,其中所述一或多个处理器经配置以:
至少部分地基于前一帧的上下文模型的熵,确定用于所述上下文模型的速率值;
产生针对所述上下文模型中的每一个指示λ的值乘以用于所述上下文模型的所述速率值的表,其中λ是固定值;并且
至少部分地基于所述表中的所述值确定将所述系数量化成是用于所述系数的所述初始经量化等级、所述初始经量化等级减去一和零的所述速率失真成本。

21.
  一种计算装置,其包括:
用于确定用于系数块的系数的初始经量化等级的装置;
用于确定所述系数是否小于所述初始经量化等级与量化步长值的乘积的装置;
用于响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积确定将所述系数量化成所述初始经量化等级和所述初始经量化等级减去一的速率失真成本的装置;以及
用于响应于所述系数小于所述初始经量化等级与所述量化步长值的所述乘积而基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级的装置。

22.
  一种存储指令的计算机可读存储媒体,所述指令当由计算装置的一或多个处理器执行时配置所述计算装置以进行以下操作:
确定用于系数块的系数的初始经量化等级;
确定所述系数是否小于所述初始经量化等级与量化步长值的乘积;以及
响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积:
确定将所述系数量化成是所述初始经量化等级和所述初始经量化等级减一的速率失真成本;以及
基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级。

说明书

速率失真优化量化中的等级决定
本申请案要求2012年4月13日申请的第61/623,929号美国临时专利申请案、2012年4月13日申请的第61/623,948号美国临时专利申请案和2012年4月13日申请的第61/624,116号美国临时专利申请案的权益,所述美国临时专利申请案中的每一个的整个内容以引用的方式并入本文中。
技术领域
本发明涉及视频译码和压缩,并且具体来说涉及在视频译码中实施失真优化量化。
背景技术
数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直接广播系统、无线广播系统、个人数字助理(PDA)、膝上型或台式计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电话(所谓的“智能手机”)、视频电话会议装置、视频流式传输装置等等。数字视频装置实施视频压缩技术,例如在通过MPEG-2、MPEG-4、ITU-T H.263、ITU-T H264/MPEG-4第10部分、高级视频译码(AVC)、目前正在开发的高效视频译码(HEVC)标准和此些标准的扩展部分所定义的标准中描述的视频压缩技术。通过实施此些视频压缩技术,视频装置可以更有效率地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,视频切片(即,视频帧或视频帧的一部分)可以分割成视频块,这也可以称为树块、译码单元(CU)和/或译码节点。使用相对于相同图片中的相邻块的参考样本的空间预测对图片的经帧内译码(I)的切片中的视频块进行编码。图片的经帧间译码(P或B)的切片中的视频块可以使用相对于相同图片中的相邻块的参考样本的空间预测,或相对于其它参考图片中的参考样本的时间预测。图片可以称为帧,并且参考图片可以称为参考帧。
空间或时间预测产生用于待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本块的运动向量对经帧间译码 的块进行编码,并且残余数据指示经译码的块与预测性块之间的差。经帧内译码的块是根据帧内译码模式和残余数据编码的。为了进一步压缩,可以将残余数据从像素域变换到变换域,从而产生残余系数,接着可以对残余系数进行量化。可以扫描经量化系数(起初布置成二维阵列),以便产生系数的一维向量,并且可以应用熵译码以实现甚至更大的压缩。
发明内容
总地来说,本发明描述量化技术。在一些实例中,一种例如视频编码器等计算装置确定用于系数块的系数的初始经量化等级,并且确定所述系数是否小于所述初始经量化等级与量化步长值的乘积。响应于确定所述系数小于所述初始经量化等级与量化步长值的乘积,所述计算装置确定将所述系数量化成用于所述系数的所述初始经量化等级、用于所述系数的所述初始经量化等级减去一以及在一些情形中量化成0的速率失真成本。所述计算装置至少部分地基于所述计算出的速率失真成本计算用于所述系数的实际经量化等级。所述计算装置在系数块的经量化版本中包含实际经量化等级。
在一个实例中,本发明描述一种对视频数据进行编码的方法。所述方法包括确定用于系数块的系数的初始经量化等级。所述方法还包括确定所述系数是否小于所述初始经量化等级与量化步长值的乘积。此外,所述方法包括响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积,确定将所述系数量化成所述初始经量化等级和所述初始经量化等级减去一的速率失真成本。此外,所述方法包括响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积,至少部分地基于计算出的速率失真成本确定用于所述系数的实际经量化等级。
在另一实例中,本发明描述一种对视频数据进行编码的计算装置。所述计算装置包括经配置以确定用于系数块的系数的初始经量化等级的一或多个处理器。所述一或多个处理器还经配置以确定所述系数是否小于初始经量化等级与量化步长值的乘积。所述一或多个处理器经配置使得响应于确定所述系数小于初始经量化等级与量化步长值的乘积,所述一或多个处理器确定使所述系数量化成初始经量化等级和初始经量化等级减去一的速率失真成本。此外,响应于确定系数小于初始经量化等级与量化步长值的乘积,所述一或多个处理器基于计算出的速率失真成本确定系数的实际经量化等级。
在另一实例中,本发明描述了一种计算装置,其包括用于确定系数块的系数的初始经量化等级的装置。此外,所述计算装置还包括用于确定所述系数是否小于初始经量化等级与量化步长值的乘积的装置。此外,所述计算装置包括用于响应于所述系数小于所 述初始经量化等级与所述量化步长值的所述乘积确定将所述系数量化成所述初始经量化等级和所述初始经量化等级减去一的速率失真成本的装置。所述计算装置还包括用于响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积,基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级的装置。
在另一实例中,本发明描述一种存储指令的计算机可读存储媒体,所述指令在由计算装置的一或多个处理器执行时配置所述计算装置以确定用于系数块的系数的初始经量化等级。所述指令还配置所述计算装置以确定所述系数是否小于所述初始经量化等级与所述量化步长值的所述乘积。所述指令还配置所述计算装置,使得响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积,确定将所述系数量化成所述初始经量化等级和所述初始经量化等级减去一的速率失真成本。此外,所述指令配置所述计算装置,使得响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积,所述计算装置基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级。
附图和下面的描述中阐述本发明的一或多个实例的细节。通过描述、图式和权利要求书,将明白其它特征、目的和优点。
附图说明
图1是说明可以利用本发明中描述的技术的实例视频译码系统的框图。
图2是说明可以实施本发明中描述的技术的实例视频编码器的框图。
图3是说明可以实施本发明中描述的技术的实例视频解码器的框图。
图4是说明使用死区的标量量化的概念图。
图5是说明量化偏移和等级决定的概念图。
图6是说明根据本发明的一或多种技术对系数进行量化的实例操作的流程图。
图7是说明根据本发明的一或多种技术对系数块的系数进行量化的实例操作的流程图。
图8是说明图7的操作的实例部分的流程图。
图9是说明根据本发明的一或多种技术对系数块的系数进行量化的另一实例操作的流程图。
图10是说明根据本发明的一或多种技术对系数块的系数进行量化的另一实例操作的流程图。
图11是说明根据本发明的技术的另一实例编码操作的流程图。
图12是说明根据本发明的技术的另一实例译码操作的流程图。
具体实施方式
视频编码器可以在视频编码期间对系数进行量化。对系数进行量化可能会减小系数的位深度。在高效视频译码(HEVC)中,视频编码器可以使用利用死区技术的标量量化或使用速率失真优化量化(RDOQ)技术执行量化。RDOQ技术与使用死区技术的标量量化相比可以实现显著的性能增益。然而,RDOQ技术比使用死区技术的标量量化明显更复杂。
本发明的技术可以减小RDOQ技术的复杂度。举例来说,RDOQ可能会涉及确定系数的经量化等级(Level)、Level-1和0)的速率失真(RD)成本。本发明的一些技术可以通过只有在系数的计算出的值小于Level与量化步长值的乘积的情况下才确定系数的经量化等级(Level)、Level-1和0的RD成本而减小RDOQ技术的复杂度。通过只有在满足这个条件时才确定这些RD成本,可以减小执行RDOQ技术的复杂度。在另一实例中,本发明的一些技术可以减小RDOQ技术的复杂度,因为实施这些技术的视频编码器可以在量化偏移查找表中查找量化偏移,并且使用这些量化偏移对系数进行量化。通过在量化偏移查找表中查找量化偏移,可能不必要确定每一系数的Level、Level-1和0的RD成本。消除Level、Level-1和0的RD成本的确定,可以减小RDOQ技术的复杂度。在另一实例中,可以通过产生一个视频编码器在计算RDOQ技术中的各种RD成本时可以使用的乘法表来减小RDOQ技术的复杂度。
附图说明了实例。附图中的参考标号所指示的元件对应于下面的描述中的相同参考标号所指示的元件。在本发明中,具有用顺序词语(例如,“第一”、“第二”、“第三”等等)开头的名称的元件不一定暗示所述元件具有特定的次序。实情为,此些顺序词语可能只是用来指代相同或相似类型的不同元件。
图1是说明可以利用本发明的技术的实例视频译码系统10的框图。如本文中所述描述,术语“视频译码器”总体上是指视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可以总体上指代视频编码或视频解码。
如图1所示,视频译码系统10包含源装置12和目的地装置14。源装置12产生经编码的视频数据。因此,源装置12可以称为视频编码装置或视频编码设备。目的地装置14可以对源装置12所产生的经编码的视频数据进行解码。因此,目的地装置14可以称为视频解码装置或视频解码设备。源装置12和目的地装置14可以是视频译码装置或视频译码设备的实例。源装置12和目的地装置14可以包括多种多样的装置,包含台 式计算机、移动计算装置、笔记本(例如,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”电话)、电视机、相机、显示器装置、数字媒体播放器、视频游戏控制台、车载计算机等等。
目的地装置14可以经由信道16从源装置12接收经编码的视频数据。信道16可以包括能够将经编码的视频数据从源装置12移动到目的地装置14的一或多个媒体和/或装置。在一个实例中,信道16可以包括使得源装置12能够实时地将经编码的视频数据直接发射到目的地装置14的一或多个通信媒体。在这个实例中,源装置12可以根据通信标准(例如无线通信协议)调制经编码的视频数据,并且可以将经调制的视频数据发射到目的地装置14。所述一或多个通信媒体可以包含无线和/或有线通信媒体,例如射频(RF)频谱或一或多个物理传输线。所述一或多个通信媒体可以形成基于包的网络(例如,局域网、广域网或全球网络(例如,因特网))的一部分。所述一或多个通信媒体可以包含路由器、交换机、基站或其它便于从源装置12到目的地装置14的通信的设备。
在另一实例中,信道16可以包含存储源装置12所产生的经编码的视频数据的存储媒体。在这个实例中,目的地装置14可以经由磁盘存取或卡存取来存取存储媒体。所述存储媒体可包含多种本机存取的数据存储媒体,例如蓝光光盘、DVD、CD-ROM、快闪存储器或其它适合于存储经编码的视频数据的数字存储媒体。
在另一实例中,信道16可包含文件服务器或另一存储源装置12所产生的经编码的视频数据的中间存储装置。在这个实例中,目的地装置14可以经由流式传输或下载来存取被存储在文件服务器或其它中间存储装置处的经编码的视频数据。所述文件服务器可以是能够存储经编码的视频数据并且将经编码的视频数据发射到目的地装置14的类型的服务器。实例文件服务器包含网络服务器(例如,用于网站)、文件传送协议(FTP)服务器、网络附接存储(NAS)装置和本机磁盘驱动器。
目的地装置14可以通过标准数据连接(例如因特网连接)存取经编码的视频数据。数据连接的实例包含无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或这两者的适合于存取被存储在文件服务器上的经编码的视频数据的组合。从文件服务器发射经编码的视频数据可以是流式传输发射、下载发射或这两者的组合。
本发明的技术不限于无线应用或设置。所述技术可以应用于支持多种多媒体应用的视频译码,所述多媒体应用例如是空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射(例如,经由因特网)、对视频数据编码以用于存储在数据存储媒体上、对存储在数据存储媒体上的视频数据的解码或其它应用。在一些实例中,视频译码系统10可以经配置以支持单向或双向视频发射以支持例如视频流式传输、视频回放、视频广播 和/或视频电话等应用。
在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。在一些实例中,输出接口22可包含调制器/解调器(调制解调器)和/或发射器。视频源18可包含视频俘获装置,例如,摄像机、含有先前俘获的视频数据的视频档案、用以从视频内容提供者接收视频数据的视频馈送接口和/或用于产生视频数据的计算机图形系统或此些视频数据源的组合。
视频编码器20可对来自视频源18的视频数据进行编码。在一些实例中,源装置12经由输出接口22将经编码的视频数据发射到目的地装置14。经编码的视频数据还可存储到存储媒体或文件服务器上以供目的地装置14稍后存取以便解码和/或回放。
在图1的实例中,目的地装置14包含输入接口28、视频解码器30和显示器装置32。在一些实例中,输入接口28包含接收器和/或调制解调器。输入接口28可以经由信道16接收经编码的视频数据。显示器装置32可以与目的地装置14集成或者可以在目的地装置14外部。总地来说,显示器装置32显示经解码的视频数据。显示器装置32可以包括多种显示器装置,例如液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示器装置。
视频编码器20和视频解码器30可以根据视频压缩标准操作,例如目前正在开发的高效视频译码(HEVC)标准,并且可以符合HEVC测试模型(HM)。布罗斯等人的文档JCTVC-H1003“高效率视频译码(HEVC)文本规范草案6(High efficiency video coding(HEVC)text specification draft 6)”(ITU-T SG16 WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第8届会议,美国加州圣何塞市,2012年2月)中描述了即将到来的HEVC标准的草案,称为(“HEVC工作草案6”或“WD6”),所述文档截至2013年2月21日,可以从http://phenix.int-evry.fr/jct/doc_end_user/documents/8_San%20Jose/wg11/JCTVC-H1003-v22.zip下载,并且其整个内容以引用的方式并入本文中。布罗斯等人的“高效率视频译码(HEVC)文本规范草案9(High efficiency video coding(HEVC)text specification draft 9)”(ITU-T SG 16 WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合合作小组(JCT-VC),第11届会议,中国上海,2012年10月)中描述了即将到来的HEVC标准的另一份草案,称为(“HEVC工作草案9”),所述文档截至2013年2月21日,可以从http://phenix.int-evry.fr/jct/doc_end_user/documents/11_Shanghai/wg11/JCTVC-K1003-v8.zip下载,并且其整个内容以引用的方式并入本文中。
或者,视频编码器20和视频解码器30可以根据其它私有或行业标准操作,包含 ITU-T H.261、ISO/IEC MPEG-1 Visual、ITU-T H.262或ISO/IEC MPEG-2 Visual、ITU-T H.263、ISO/IEC MPEG-4 Visual和ITU-T H.264(也称为ISO/IEC MPEG-4 AVC),包含其可缩放视频译码(SVC)和多视图视频译码(MVC)扩展部分。然而,本发明的技术不限于任何特定的译码标准或技术。
同样,图1只是一个实例,并且本发明的技术可以适用于视频译码设置(例如,视频编码或视频解码),其不一定包含编码与解码装置之间的任何数据通信。在其它实例中,数据是从本机存储器检索的,经由网络流式传输的等等。编码装置可以对数据进行编码并且将数据存储到存储器,且/或解码装置可以从存储器检索数据并且对数据进行解码。在许多实例中,编码和解码是由不彼此通信而只是将数据编码到存储器和/或从存储器检索和解码数据的装置执行的。
视频编码器20和视频解码器30各自可以实施为多种合适电路中的任一种,例如一或多个微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、硬件或其任何组合。如果所述技术部分地是用软件实施的,那么装置可以将用于软件的指令存储在合适的非暂时性计算机可读存储媒体中,并且可以使用一或多个处理器在硬件中执行指令以执行本发明的技术。前述(包含硬件、软件、硬件与软件的组合等)中的任一个都可以被视为一或多个处理器。视频编码器20和视频解码器30中的每一个都可以包含在一或多个编码器或解码器中,其中的任一个可以作为组合编码器/解码器(编解码器)的一部分集成在相应的装置中。
本发明可总体上称视频编码器20向另一装置(例如视频解码器30)“发信号通知”某一信息。术语“发信号通知”可以总体上指代传达语法元素和/或其它表示经编码的视频数据的数据。此通信可以实时地或近实时地发生。或者,此通信可以在一段时间中发生,例如在编码时在经编码的位流中将语法元素存储到计算机可读存储媒体时可能发生的情况,所述语法元素在被存储到这个媒体之后的任何时间可以被解码装置检索。
如上文简述的,视频编码器20对视频数据进行编码。视频数据可包括一或多个图片。所述图片中的每一个可以是静态图像。在一些例子中,图片可以称为视频“帧”。视频编码器20可以产生位流,所述位流包含形成视频数据的经译码的表示的位序列。视频数据的经译码的表示可包含经译码的图片和相关联的数据。经译码的图片是图片的经译码的表示。相关联的数据可以包含序列参数集(SPS)、图片参数集(PPS)和其它语法结构。SPS可含有可应用于零或更多个图片序列的参数。PPS可含有可应用于零或更多个图片的参数。语法结构可以是以指定次序一起存在于位流中的一组零或更多个语法元素。
为了产生图片的经编码的表示,视频编码器20可以将图片分割成译码树块(CTB)的网格。因此,每一CTB可以与图片的一个区域相关联。在一些例子中,CTB可以称为“树块”、“最大译码单元”(LCU)或“译码树单元”。HEVC的CTB可以大概类似于先前标准(例如H.264/AVC)中的宏块。然而,CTB不一定限于特定大小,并且可包含一或多个译码单元(CU)。
CTB中的每一个可以与一个亮度(luma)样本块和两个色度(chroma)样本块相关联,其对应于与CTB相关联的区域中的像素。为了便于解释,本发明可以将样本的二维阵列称为样本块。视频编码器20可以使用四叉树分割将与CTB相关联的区域分割成与CU相关联的区域,因此得来“译码树块”的名称。
图片的CTB可以分组成一或多个切片。在一些实例中,切片中的每一个包含整数个CTB。作为对图片进行编码的一部分,视频编码器20可以产生图片的每一切片的经编码的表示(即,经译码的切片)。为了产生经译码的切片,视频编码器20可以对切片的每一CTB进行编码,以产生切片的CTB中的每一个的经编码的表示(即,经译码的CTB)。
为了产生经译码的CTB,视频编码器20可以对与CTB相关联的区域递归地执行四叉树分割,以将所述区域划分成逐渐变小的区域。更小的区域可以与CU相关联。更小的区域中的每一个可以与一个亮度样本块和两个色度样本块相关联。因此,CU可以与一个亮度样本块和两个色度样本块相关联。经分割的CU可以是其区域被分割成与其它CU相关联的区域的CU。未经分割的CU可以是其区域未被分割成与其它CU相关联的区域的CU。
视频编码器20可以为每一未经分割的CU产生一或多个预测单元(PU)。CU的PU中的每一个可以与CU的区域内的不同区域相关联。视频编码器20可以为CU的每一PU产生预测性样本块。
视频编码器20可以使用帧内预测或帧间预测产生PU的预测性样本块。如果视频编码器20使用帧内预测产生PU的预测性样本块,那么视频编码器20可以基于与PU相关联的图片的经解码的样本产生PU的预测性样本块。如果视频编码器20使用帧间预测产生PU的预测性样本块,那么视频编码器20可以基于除了与PU相关联的图片之外的一或多个图片的经解码的样本产生PU的预测性样本块。
视频编码器20可以基于CU的PU的预测性样本块产生CU的残余样本块。CU的残余样本块可以指示CU的PU的预测性样本块中的样本与CU的原始样本块中的对应样本之间的差。
此外,作为对未经分割的CU进行编码的一部分,视频编码器20可以对CU的残余 样本块执行递归四叉树分割,以将CU的残余样本块分割成与CU的变换单元(TU)相关联的一或多个更小的残余样本块。因为CU的样本块可包含一个亮度样本块和两个色度样本块,所以TU中的每一个可以与亮度样本的一个残余样本块和色度样本的两个残余样本块相关联。
视频译码器20可以对与TU相关联的残余样本块应用一或多个变换以产生系数块(即,系数的块)。视频编码器20可以对系数块中的每一个执行量化过程。量化总体上是指系数被量化以可能地减少用于表示系数的数据量从而提供进一步压缩的过程。
视频编码器20可以对这些语法元素中的至少一些应用熵编码操作,例如上下文自适应二进制算术译码(CABAC)操作。除了对系数块的语法元素进行熵编码之外,视频编码器20还可以对变换块应用逆量化和逆变换以从变换块重建残余样本块。视频编码器20可以将经重建的残余样本块添加到来自一或多个预测性样本块的对应样本以产生经重建的样本块。通过以此方式为CU的每一TU重建样本块,视频编码器20可以重建CU的样本块。
在视频编码器20重建了CU的样本块之后,视频编码器20可以执行解块操作以减少与CU相关联的成块假象。在执行这些操作之后,视频编码器20可以将CU的经重建的样本块存储在经解码图片缓冲器中,以用于产生用于其它CU的PU的预测性样本块。
视频解码器30可以接收位流。位流可包含视频编码器20编码的视频数据的经译码的表示。视频解码器30可剖析位流以从位流提取语法元素。作为从位流提取至少一些语法元素的一部分,视频解码器30可以对位流中的数据进行熵解码。
视频解码器30可以基于从位流提取的语法元素重建视频数据的图片。基于语法元素重建视频数据的过程可以总体上与视频编码器20执行以产生语法元素的过程相反。举例来说,视频解码器30可以基于与CU相关联的语法元素产生用于CU的PU的预测性样本块。此外,视频解码器30可以对与CU的TU相关联的系数块进行逆量化。视频解码器30可以对系数块执行逆变换以重建与CU的TU相关联的残余样本块。视频解码器30可以基于预测性样本块和残余样本块重建CU的样本块。
如上所述,视频编码器20可以产生残余样本块。残余样本块中的每一标本可以指示样本块的原始版本与相同样本块的预测性版本中的对应样本之间的差。在产生残余样本块之后,视频编码器20可以对残余样本块应用一或多个变换。通过对残余样本块应用一或多个变换,视频编码器20可以将残余样本块从样本域转换到频率域。结果是变换系数的块(即,“变换系数块”或“系数块”)。在一些实例中,变换的目的是将信号去除相关成不同的频率分量。此外,在一些实例中,视频编码器20不对残余样本块应用 变换。在此些实例中,视频编码器20可以用与系数块相同的方式处理残余样本块。为了便于解释,本发明中对系数块的论述可以适用于视频编码器20不对其应用一或多个变换的残余样本块。
此外,如上所述,在产生系数块之后,视频编码器20可以对系数块的系数进行量化。对系数进行量化可能会减小系数的位深度。量化是可以减少编码中的失真的过程。在此之后,使用可变长度译码(例如CABAC)对经量化系数进行编码。在HEVC中,有用于量化的两种技术。第一量化技术是使用死区的标量量化。第二量化技术是速率失真优化量化(RDOQ)。
在使用死区技术的标量量化中,视频编码器20使用下面的等式(1)将系数映射到离散的经量化等级:

在等式(1)中,指示朝负无穷大舍入到最近的整数,并且sign()是返回输入信号的正负号的函数,W.Δ是量化步长,并且f是量化偏移。在等式(1)中,量化偏移f控制死区的大小。死区是映射到0的区间。量化偏移f还使重建等级偏离映射到0的区间的中心。z指示经量化等级的值。
在解码期间,视频解码器30可以使用下面的等式(2)对变换系数进行逆量化:
W′=Δ·Z  (2)
在等式(2)中,W′标示经解量化的系数,Δ是量化步长,并且Z是接收到的经量化等级。
RDOQ技术试图优化速率(即,经编码的视频数据的位速率)与失真之间的折中。总地来说,视频编码器20可以通过执行下列步骤来执行RDOQ技术。首先,视频编码器20可以使上下文初始化:C1=1,C2=0。第二,视频编码器20可以用反向对角线扫描次序扫描经过系数块的系数。当视频编码器20扫描每一系数时,视频编码器20可以使用1/2的量化偏移对系数进行量化。第三,视频编码器20可以确定系数块中的系数的最优等级。第四,视频编码器20可以确定最优的最后有效系数。
为了在前一段的第三步骤中确定用于系数的最优等级,视频编码器20可以执行下面的步骤。首先,视频编码器20可以确定最后有效系数。当用反向对角线扫描次序扫 描系数时,最后有效系数是被量化成非零等级的第一个遇到的系数。第二,对于每一剩余非零系数,视频编码器20可以基于用于系数的经量化等级的速率失真(RD)成本选择最优等级。剩余系数是根据反向对角线扫描次序在最后有效系数之后发生的系数。
为了选择用于系数(即,当前系数)的最优经量化等级,视频编码器20可以确定用于当前系数的经量化等级是否小于3。如果用于当前系数的经量化等级小于3,那么视频编码器20可以计算将从用值Level取代当前系数得出的RD成本,其中Level标示用于上面计算的当前系数的经量化等级。此外,如果用于当前系数的经量化等级小于3,那么视频编码器20可以计算将从用Level-1取代当前系数得出的RD成本。此外,如果当前系数的经量化等级小于3,那么视频编码器20可以计算将从用0值取代当前系数得出的RD成本。
如果用于当前系数的经量化等级大于或等于3,那么视频编码器20可以计算将从用Level值取代当前系数得出的RD成本。此外,如果用于当前系数的经量化等级大于或等于3,那么视频编码器20可以计算将从用Level-1取代当前系数得出的RD成本。
此外,当视频编码器20选择了用于当前系数的最优经量化等级时,视频编码器20可以更新将系数块的所有系数量化成0(从而得到未经译码的块)的RD成本。视频编码器20还更新对系数块的每一系数进行编码的RD成本。此外,视频编码器20更新对系数块的有效性图进行编码的成本。系数块的有效性图指示系数块的哪些系数为非零。
此外,视频编码器20基于当前系数的经优化的经量化(Lopt)更新上下文。视频编码器20可以将Lopt确定为具有最低RD成本的当前系数的经量化等级(即,Level、Level-1或0)。视频编码器20可以使用上下文来执行对下一个系数的等级决定。举例来说,视频编码器20可以至少部分地基于上下文确定与下一个系数相关联的各种RD成本。
如上文指示,视频编码器20可以作为执行RDOQ技术的一部分确定最优的最后有效系数。为了确定最优的最后有效系数,视频编码器20可以执行下面的步骤。首先,如果当前块未经译码,视频编码器20可以将一个值(d64BestCost)初始化成等于RD成本。第二,视频编码器20可以根据反向对角线扫描来扫描遍历系数块的系数,直到视频编码器20遇到经量化等级大于1的系数为止。
当视频编码器20扫描一个系数(即,当前系数)时,视频编码器20执行下面的步骤。首先,视频编码器20可以计算在当前系数被视为最后有效系数的情况下将得到的总块成本(totalCost)。其次,如果totalCost小于d64BestCost,那么视频编码器20可以设置最佳的最后位置指示符(iBestLastIdxP1),使得iBestLastIdxP1指示当前系数在系数块内的位置,并且可以将d64BestCost设置成等于totalCost。
在上述RDOQ技术中,视频编码器20计算若干RD成本。视频编码器20可以将RD成本计算为D+λ*R。D标示系数块的原始系数与系数块的经重建的系数之间的均方误差。R标示对应上下文模型的熵。视频编码器20可以在对系数块执行RDOQ之前或在对TU(HEVC中的变换和量化的基础单元)的任何系数块执行RDOQ之前估计R。也就是说,每次在RDOQ之前(或针对每个TU)可以估计符号的速率R,作为对应上下文模型的熵。
为了为每个TU估计速率R(即,用以对经量化等级和相关信息(例如最后有效系数的有效性图和位置等)进行编码的速率),视频编码器20可以计算CABAC上下文模型的熵。理论上,CABAC可以逼近压缩限制。也就是说,CABAC产生的平均码字长度理论上可以逼近源的熵。当视频编码器20使用CABAC对数据符号进行编码时,首先使数据符号二进制化。二进制化的数据符号可以称为“二进位”。
视频编码器20可以接着选择一种上下文模型。上下文模型可以定义最近译码的数据符号的统计数据。举例来说,在对经量化等级1进行编码的情况下,可以将上下文模型定义为已经被量化成1的先前系数的数目。以此方式,上下文模型可以定义当前符号的条件概率。也就是说,在给定先前译码的符号的情况下,上下文模型可以指示当前符号的概率。此外,上下文模型可以定义二进制位是“1”或“0”的概率。当视频编码器20执行CABAC时,视频编码器20可以根据选定的上下文模型(即,“概率模型”)对二进制化的数据符号(即,二进制位)进行编码。
在对二进制化的数据符号进行编码之后,视频编码器20至少部分地基于实际经译码的值更新选定的上下文模型。只要CABAC编码在进行,视频编码器20就可以继续更新上下文模型。在视频编码器20执行RDOQ之前,视频编码器20可以加载每个上下文的当前概率(即,上下文)模型,并且视频编码器20可以计算对应的熵。视频编码器20可以使用所述熵来估计用以对用于对应上下文的符号进行编码的位的数目。换句话说,视频编码器20可以使用上下文的熵来估计如果使用了上下文对符号进行编码那么在符号的经编码的版本中将有多少个位。估计要对符号进行编码的位的数目在本文中可以称为“位估计”。
因此,当视频编码器20执行上述RDOQ技术时,视频编码器20可以执行下面的步骤:
1.使上下文初始化:C1=1,C2=0。
2.用反向对角线扫描次序对具有1/2偏移的系数进行量化;
3.对最优等级的决定。
I.确定最后有效系数:用反向对角线次序被量化成非零的第一系数。
II.对于反向对角线扫描中的剩余非零系数,基于RD成本选择最优等级。
a.选择最佳等级Lopt
i.如果Level<3,那么计算Level、Level-1和0的RD成本(D+λ·RLevel)。
ii.如果Level>=3,那么计算Level、Level-1的RD成本(D+λ·RLevel)。
b.更新编码成本。
i.量化成0的成本(对于未经译码的块)。
ii.对每一系数进行编码的成本。
iii.对有效性图进行编码的成本(λ·Rsig_map)。
c.基于所决定的等级Lopt更新上下文。对下一个系数的等级决定可以使用所述上下文。
III.处理下一个系数,并且去往步骤II。
4.决定最优的最后有效系数。
1)如果当前块未经译码,则将d64BestCost初始化成RD成本。
2)在反向对角线扫描中,计算在当前系数是最后有效系数的情况下的总块成本totalCost。也就是说,需要加上λ·RpositionX+λ·RpositionY,并且应当调整有效性图的对应成本。
3)如果totalCost<d64BestCost,那么新的最佳最后位置(iBestLastIdxP1)是当前位置,d64BestCost=totalCost。
4)重复到LevelofCurCoeff>1为止。
与使用死区技术的标量量化技术相比,RDOQ技术可以实现显著的有效性能增益。然而,这些增益的代价是,视频编码器20的复杂度明显增加。下面的表1-4说明了RDOQ关闭(即,使用死区的标量量化)对RDOQ的HEVC性能。如表1-4所示,与使用死区的标量量化相比,RDOQ可以实现3.4%到5.7%的性能增益。
表1


表2

表3

表4

本发明的技术可简化RDOQ中为系数选择最优经量化等级的步骤(上文描述中的步骤(3))。从上面对RDOQ的描述,第三步骤(即,最优等级的决定),可以计算多个等级的RD成本以便选择最优等级。也就是说,视频编码器20可以在RDOQ的第三步骤中基于RD成本从Level、Level-1或0中选出最优等级。
根据本发明的技术,只有在系数值小于系数的经重建的值时,视频编码器20才可以针对系数块的每一系数计算使用Level、Level-1或0作为用于系数的经量化等级的RD成本。系数的经重建的值等于用于系数的经量化等级(Level)乘以在产生用于系数的经量化等级时使用的步长。换句话说,如果视频编码器20确定系数的值大于或等于系数的经重建的值,那么视频编码器20不针对Level、Level-1和0计算RD成本,而是可以改为简单地选择Level作为用于系数的经量化等级,这可以简化对用于系数的最优经量化等级的选择。换句话说,无需确定将系数量化成Level、Level-1或0的速率失真成本并且响应于确定所述系数不小于初始经量化等级(即,Level)与量化步长值的乘积,视频编码器20可以确定用于系数的实际经量化等级是用于系数的初始经量化等级。
只有在系数值小于系数的经重建的值的情况下才使用Level、Level-1和0作为用于系数的经量化等级来计算RD成本,可以减少视频编码器执行的乘法运算的数目。同时,位速率不会过度增加。
因此,根据本发明的技术,视频编码器20可以通过执行下面的步骤来执行本发明的RDOQ技术。首先,视频编码器20可以使一个上下文初始化:C1=1,C2=0。第二,视频编码器20可以用反向对角线扫描次序扫描经过系数块的系数。当视频编码器20扫描每一系数时,视频编码器20可以用1/2的偏移对系数进行量化。第三,视频编码器20可以确定用于系数块中的系数的最优等级。第四,视频编码器20可以确定最优的最后有效系数。视频编码器20可以如上所述执行RDOQ技术的第一、第二和第四步骤。
然而,为了在第三步骤中确定用于系数的最优等级,视频编码器20可以执行下面的步骤。首先,视频编码器20可以确定最后有效系数。当用反向对角线扫描次序(也就是说,总体上从最高频率的系数前进到最低频率的系数)扫描系数时,最后有效系数是被量化成非零等级的第一个遇到的系数。第二,对于每一剩余非零系数,视频编码器20可以基于用于系数的经量化等级的RD成本选择最优等级。剩余系数是根据反向对角线扫描次序在最后有效系数之后发生的系数。
根据本发明的技术,为了选择系数(即,当前系数)的最优经量化等级,视频编码器20可以执行下面的步骤。首先,视频编码器20可以确定当前系数的值是否小于Level* StepSize,其中Level是在步骤(2)中确定的用于当前系数的经量化等级,并且StepSize是用于对当前系数进行量化的量化步长Δ。换句话说,视频编码器20可以确定当前系数的值是否小于当前系数的经重建的值。如果当前系数的值小于当前系数的经重建的值,那么视频编码器20可以确定用于当前系数的经量化等级是否小于3。
响应于确定当前系数小于3,视频编码器20可以计算用值Level取代当前系数将得出的RD成本,其中Level标示用于当前系数的经量化等级。此外,响应于确定当前系数小于3,视频编码器20可以计算用Level-1取代当前系数将得出的RD成本。响应于确定当前系数小于3,视频编码器20也可以确定用0值取代当前系数将得出的RD成本。
响应于确定前系数的经量化等级大于或等于3,视频编码器20可以计算用Level取代当前系数将得出的RD成本。此外,视频编码器20可以计算用Level-1值取代当前系数将得出的RD成本。
视频编码器20可以选择当前系数的最优经量化等级Lopt作为具有最低RD成本的版本。此外,视频编码器20可以更新在确定最优的最后有效系数时使用的RD成本。也就是说,视频编码器20可以更新将系数块的所有系数量化成0(得出未经译码的块)的RD成本。此外,视频编码器20可以更新对系数块的每一系数进行编码的成本。视频编码器20还可以更新对系数块的有效性图进行编码的成本。视频编码器20可以基于用于当前系数的所确定的最优的经量化等级(Lopt)更新上下文。视频编码器20可以在对系数块中的下一个系数的等级决定时使用所述上下文。
以此方式,视频编码器20可以确定用于系数块的系数的初始经量化等级。此外,视频编码器20可以确定所述系数是否小于初始经量化等级与量化步长值的乘积。响应于确定变换系数小于初始经量化等级与量化步长值的乘积,视频编码器20可以确定将系数量化成初始经量化等级和初始经量化等级减去一的速率失真成本。此外,响应于确定变换系数小于初始经量化等级与量化步长值的乘积,视频编码器20可以基于计算出的速率失真成本确定用于系数的实际经量化等级。此外,视频编码器20可以在系数块的经量化版本中包含实际经量化等级。
如上所述,RDOQ算法具有两个主要遍次。第一遍次是基于各个系数的RD成本从Level、Level-1和0中选择最优经量化等级。对于固定量化步长,视频编码器20可以始终选择量化偏移,使得经量化等级等于通过RDOQ算法确定的等级。第二遍次是基于块的RD成本选择最优的最后有效系数。本发明的额外技术可以通过取代RDOQ的第一步骤来简化RDOQ算法。也就是说,本发明的额外技术可以简化RDOQ中选择用于系数的最优经量化等级的步骤。具体来说,如果量化偏移经过调整使得经量化等级等于在 RDOQ的第一遍次中确定的最优等级,那么可以移除第一遍次的等级决定中所涉及的复杂度。
为了确定可以逼近RDOQ的性能的量化偏移,可以针对每一频率系数收集在步骤3和4中选择Level、Level-1或0的次数(在最后有效系数决定中,一些等级被设置成0)。以此方式,可以针对每一不同频率下的每一系数获得所选择的Level、Level-1或0的排序。如果量化偏移限于1/2、1/3和1/6,那么视频编码器20可以如下面的表5所示选择量化偏移。下面的表5说明了基于在RDOQ中选择Level、Level-1或0的次数的排序对量化偏移的实例决定。在一些实例中,表5是基于测试视频数据产生的。在其它实例中,表5是由视频编码器20动态产生的。
表5

举例来说,如果对系数块的位置(I,J)处的系数Level被最频繁地选择,那么可以针对位置(I,J)设置量化偏移1/2。否则,如果在RDOQ中Level-1或0被最频繁地选择,那么可以将量化偏移设置成1/3或1/6。以此方式,可以产生接近最优的量化偏移表。
因此,根据本发明的额外技术,产生查找表。在一些实例中,视频编码器20产生查找表。所述查找表可以将变换系数位置映射到量化偏移。可以基于常规RDOQ技术对系数块内的各种位置处的系数使用所述量化偏移的速率来产生查找表。实例量化偏移可包含1/2、1/3和1/6。也就是说,查找表可以将系数位置映射到下面三个可能的量化偏移值中的一个:1/2、1/3和1/6。视频编码器20可以使用相应系数在系数块中的相应位置在查找表中查找用于相应系数的相应量化偏移。此外,视频编码器20可以至少部分地基于用于一或多个相应系数的相应量化偏移来确定用于相应系数的相应经量化等级。
在视频编码器20使用查找表查找了一个系数(即,当前系数)的量化偏移之后,视频编码器20可以使用下面再次复制的等式(1)来确定用于当前系数的最优经量化等级(Lopt)。

换句话说,在确定使用是使用值Level、Level-1还是0之后,视频编码器20可以根据类似于表5的表为上面的等式(1)中的f选择一个值。以此方式,视频编码器20可以计算用于当前系数的经量化等级(即,根据函数(1)计算的z的值)。视频编码器20可以对经量化系数块中的当前系数使用经量化等级。
在RDOQ技术中,视频编码器20计算RD成本。计算RD成本可能涉及多个双点加法和乘法。双点加法和乘法是涉及数字的加法和乘法的运算,其涉及双精度类型的数据(例如,浮点数字)。双点乘法的计算时间可能比其它类型的计算运算长。因此,用于每一系数的RDOQ技术的主要计算可能是在第三步骤(即,决定用于系数的最优等级)中发生。RDOQ技术的第三步骤中的双点乘法包含:
·用于重建误差D的两个双点乘法。
D=dError*dError*dTemp,其中dError是原始系数与经重建的系数之间的差,并且dTemp是比例因子。
·用于λ·Rlevel的一个双点乘法,其中Rlevel是被估计以对经量化等级进行编码的位的数目。
·用于λ·Rsig_map的一个双点乘法,其中Rsig_map是被估计以对用于当前系数的有效性图进行编码的位的数目。
·如果当前系数被量化成0,则诱发用于失真的两个双点乘法。
此外,RDOQ技术的第四步骤中的主要计算(即,最优的最后有效系数的决定)包含用于λ·RpositionX+λ·RpositionY的两个双点乘法,其中RpositionX和RpositionY是被估计以对最后有效系数的位置进行编码的位的数目。虽然λ是常数,但是视频编码器可能必须在作为更新上下文模型的熵而估计R时计算λ·R。
时间相邻的图片通常是高度相关的。也就是说,相邻图片可能彼此相似。因此,根据本发明的一或多种技术,视频编码器20可以使用前一帧的上下文模型的熵作为用于当前帧中的符号的位估计。以此方式,视频编码器20可能不必每当视频编码器20执行RDOQ时都加载上下文模型的熵。类似地,视频编码器20可能不必针对每个TU加载上下文模型的熵。实情为,视频编码器20可以每当视频编码器20开始对新帧进行编码时便加载上下文模型的熵。换句话说,视频编码器20可以对每个帧执行一次位估计。换句话说,视频编码器20可以对每个帧估计一次用于当前帧中的符号的位的数目。
因为λ是常数,所以视频编码器20可以通过在对每一新帧的编码开始时构造一个乘法表来避免双点乘法。乘法表可以是查找表。视频编码器20可以使用上下文作为索引在乘法表中查找λ·R的值。在RDOQ中的RD成本计算期间,视频编码器20可以在乘 法表中查找RD成本。RD成本中的位估计可能不太准确,因为当前上下文模型与前一帧的上下文模型之间可能存在不匹配。然而,由于时间相邻的视频帧是高度相关的,所以不匹配所引起的性能损失可能相对较小。
图2是说明可以实施本发明中描述的技术的实例视频编码器的框图。提供图2是为了解释,并且不应将图2视为限制了本发明中宽泛地例示并且描述的技术。为了进行解释,本发明是在HEVC译码的上下文中描述视频编码器20。然而,本发明的技术可以应用于其它译码标准或方法。
在图2的实例中,视频编码器20包含预测处理单元100、残余产生单元102、变换处理单元104、量化单元106、逆量化单元108、逆变换处理单元110、重建单元112、滤波器单元113、经解码图片缓冲器114和熵编码单元116。熵编码单元116包含常规CABAC译码引擎118和旁路译码引擎120。预测处理单元100包含帧间预测处理单元121和帧内预测处理单元126。帧间预测处理单元121包含运动估计单元122和运动补偿单元124。在其它实例中,视频编码器20可以包含更多、更少或不同功能的组件。
视频编码器20接收视频数据。作为对图片进行编码的一部分,视频编码器20可以对切片中的每一译码树块(CTB)进行编码。作为对CTB进行编码的一部分,预测处理单元100可以对与CTB相关联的区域执行四叉树分割以将所述区域划分成逐渐变小的区域。更小的区域可以与CU相关联。举例来说,预测处理单元100可以将CTB的所述区域分割成四个相等大小的子区域,将子区域中的一或多个分割成四个相等大小的子子区域,以此类推。
视频编码器20可以对图片中的CTB的CU进行编码以产生CU的经编码的表示(即,经译码的CU)。视频编码器20可以根据z扫描次序对CTB的CU进行编码。换句话说,视频编码器20可以用所述次序对左上方的CU、右上方的CU、左下方的CU并且接着对右下方的CU进行编码。当视频编码器20对经分割的CU进行编码时,视频编码器20可以根据z扫描次序对与经分割的CU的样本块的子块相关联的CU进行编码。
此外,作为对CU进行编码的一部分,预测处理单元100可以在CU的一或多个PU之间分割CU的样本块。视频编码器20和视频解码器30可以支持各种PU大小。假设特定CU的大小是2Nx2N,那么视频编码器20和视频解码器30可以对帧内预测支持2Nx2N或NxN的PU大小,并且对帧间预测支持2Nx2N、2NxN、Nx2N、NxN或类似的对称PU大小。视频编码器20和视频解码器30还可对帧间预测支持对于2NxnU、2NxnD、nLx2N和nRx2N的不对称的分割。
帧间预测处理单元121可以通过对CU的每一PU执行帧间预测来产生用于PU的 预测性数据。用于PU的预测性数据可以包含对应于PU的预测性样本块和用于PU的运动信息。切片可以是I切片、P切片或B切片。帧间预测单元121可以依据PU是在I切片、P切片还是B切片中对CU的PU执行不同操作。在I切片中,对所有PU进行帧内预测。因此,如果PU是在I切片中,那么帧间预测单元121不对PU执行帧间预测。
如果PU是在P切片中,那么运动估计单元122可以在参考图片列表(例如,“列表0”)中搜索参考图片以寻找用于PU的参考块。用于参考图片的数据可以存储在经解码图片缓冲器114中。PU的参考块可以是最接近地对应于PU的样本块的样本块。运动估计单元122可以产生指示列表0中含有PU的参考块的参考图片的参考图片索引,和指示PU的样本块与参考块之间的空间位移的运动向量。运动估计单元122可以输出参考图片索引和运动向量作为PU的运动信息。运动补偿单元124可以至少部分地基于通过PU的运动信息指示的参考块产生PU的预测性样本块。
如果PU是在B切片中,那么运动估计单元122可以对PU执行单向帧间预测或双向帧间预测。为了对PU执行单向帧间预测,运动估计单元122可以搜索第一参考图片列表(“列表0”)或第二参考图片列表(“列表1”)的参考图片以寻找用于PU的参考块。运动估计单元122可以作为PU的运动信息而输出指示含有参考块的参考图片在列表0或列表1中的位置的参考图片索引、指示PU的样本块与参考块之间的空间位移的运动向量和指示参考图片在列表0或列表1中的位置的预测方向指示符。
为了为PU执行双向帧间预测,运动估计单元122可以搜索列表0中的参考图片中以寻找用于PU的参考块,并且还可以搜索列表1中的参考图片以寻找用于PU的另一参考块。运动估计单元122可以产生参考图片索引,其指示含有参考块的参考图片在列表0和列表1中的位置。此外,运动估计单元122可以产生运动向量,其指示PU的参考块与样本块之间的空间位移。PU的运动信息可以包含PU的参考图片索引和运动向量。运动补偿单元124可以基于通过PU的运动信息指示的参考块产生PU的预测性样本块。
帧内预测处理单元126可以通过对PU执行帧内预测而产生用于PU的预测性数据。用于PU的预测性数据可以包含用于PU的预测性样本块和各种语法元素。帧内预测处理单元126可以对I切片、P切片和B切片中的PU执行帧内预测。
为了对PU执行帧内预测,帧内预测处理单元126可以使用多种帧内预测模式来产生用于PU的多组预测性数据。为了使用帧内预测模式产生用于PU的一组预测性数据,帧内预测处理单元126可以在与帧内预测模式相关联的方向上使样本从相邻PU的样本块延伸跨越PU的样本块。假设用于PU、CU和CTB的编码次序是从左到右、从上到下, 那么相邻PU可以在所述PU的上方、右上方、左上方或左方。帧内预测处理单元126可以使用各种数目的帧内预测模式,例如33个方向性帧内预测模式。在一些实例中,帧内预测模式的数目可以取决于PU的样本块的大小。
预测处理单元100可以从帧间预测处理单元121针对PU产生的预测性数据或帧内预测处理单元126针对PU产生的预测性数据中选择用于CU的PU的预测性数据。在一些实例中,预测处理单元100基于成组的预测性数据的速率/失真量度为CU的PU选择预测性数据。选定预测性数据的预测性样本块在本文中可以称为选定预测性样本块。
残余产生单元102可以至少部分地基于CU的样本块和CU的PU的选定预测性样本块产生CU的残余样本块。举例来说,残余产生单元102可以产生CU的残余样本块,使得残余样本块中的每一样本具有等于CU的样本块中的样本与CU的PU的选定预测性样本块中的对应样本之间的差的值。
预测处理单元100可以执行四叉树分割以将CU的残余样本块分割成子块。每一未经划分的残余样本块可以与CU的TU相关联。与CU的TU相关联的残余样本块的大小和位置可以是或可以不是基于CU的PU的样本块的大小和位置。
因为CU与一个亮度样本块和两个色度样本块相关联,所以TU中的每一个可以与一个亮度样本块和两个色度样本块相关联。变换处理单元104可以通过对与TU相关联的残余样本块应用一或多个变换而为CU的每一TU产生系数块。变换处理单元104可以对与TU相关联的残余样本块应用各种变换。举例来说,变换处理单元104可以对残余样本块应用离散余弦变换(DCT)、方向性变换或概念上类似的变换。
量化单元106可以对系数块中的系数进行量化。量化过程可以减小与一些或所有系数相关联的位深度。举例来说,在量化期间可以将n位系数向下舍入成m位系数,其中n大于m。量化单元106可以至少部分地基于与CU相关联的量化参数(QP)值对与CU的TU相关联的系数块进行量化。视频编码器20可以通过调整与CU相关联的QP值来调整应用于与CU相关联的系数块的量化程度。根据本发明的技术,量化单元106可以经配置以使用查找表和/或根据经修改的RDOQ过程选择用于系数的经量化等级值,如上文相对于图1解释。
逆量化单元108和逆变换处理单元110可以分别对系数块应用逆量化和逆变换以从系数块重建残余样本块。重建单元112可以将经重建的残余样本块的样本添加到来自预测处理单元100所产生的一或多个预测性样本块的对应样本以产生与TU相关联的经重建的样本块。通过以此方式为CU的每一TU重建样本块,视频编码器20可以重建CU的样本块。
滤波器单元113可以执行解块操作以减少与CU相关联的样本块中的成块假象。经解码图片缓冲器114可以存储经重建的样本块。帧间预测单元121可以使用含有经重建的样本块的参考图片以对其它图片的PU执行帧间预测。此外,帧内预测处理单元126可以使用经解码图片缓冲器114中的经重建的样本块对与CU相同的图片中的其它PU执行帧内预测。
熵编码单元116可以从视频编码器20的其它功能组件接收数据。举例来说,熵编码单元116可以从量化单元106接收系数块,并且可以从预测处理单元100接收语法元素。熵编码单元116可以对数据执行一或多个熵编码操作以产生经熵编码的数据。举例来说,熵编码单元116可以对数据执行上下文自适应可变长度译码(CAVLC)操作、CABAC操作、可变到可变(V2V)长度译码操作、基于语法的上下文自适应二进制算术译码(SBAC)操作、概率区间分割熵(PIPE)译码操作或另一类型的熵编码操作。视频编码器20可以输出包含熵编码单元116产生的经熵编码的数据的位流。
图3是说明可以实施本发明的技术的实例视频解码器30的框图。提供图3是为了解释,并且并不限制本发明中宽泛地例示并且描述的技术。为了进行解释,本发明是在HEVC译码的上下文中描述视频解码器30。然而,本发明的技术可以适用于其它译码标准或方法。
在图3的实例中,视频解码器30包含熵解码单元150、预测处理单元152、逆量化单元154、逆变换处理单元156、重建单元158、滤波器单元159和经解码图片缓冲器160。预测处理单元152包含运动补偿单元162和帧内预测处理单元164。熵解码单元150包含常规CABAC译码引擎166和旁路译码引擎168。在其它实例中,视频解码器30可以包含更多、更少或不同功能的组件。
视频解码器30可以接收位流。熵解码单元150可以剖析位流以从位流中提取语法元素。此外,熵解码单元150可以对位流中的经熵编码的语法元素进行熵解码。预测处理单元152、逆量化单元154、逆变换处理单元156、重建单元158和滤波器单元159可以基于从位流提取的语法元素产生经解码的视频数据。
此外,视频解码器30可以对未经分割的CU执行重建操作。为了对未经分割的CU执行重建操作,视频解码器30可以对CU的每一TU执行重建操作。通过对CU的每一TU执行重建操作,视频解码器30可以重建CU的残余样本块。
作为对CU的TU执行重建操作的一部分,逆量化单元154可以对与TU相关联的系数块进行逆量化,即解量化。逆量化单元154可以使用与TU的CU相关联的QP值来确定量化程度,并且同样确定逆量化单元154要应用的逆量化程度。逆量化单元154 可以根据常规逆量化过程对系数进行量化,并且不需要利用RDOQ过程或查找表来确定用于系数的经逆量化的值。以此方式,可以使用本发明的技术产生视频解码器30无需修改就可以解码的符合标准的位流。
在逆量化单元154对系数块进行逆量化之后,逆变换处理单元156可以对系数块应用一或多个逆变换以便产生与TU相关联的残余样本块。举例来说,逆变换处理单元156可以对系数块应用逆DCT、逆整数变换、逆卡洛南-洛伊变换(KLT)、逆旋转变换、逆方向性变换或另一逆变换。
如果PU是使用帧内预测编码的,那么帧内预测处理单元164可以执行帧内预测以便为PU产生预测性样本块。帧内预测处理单元164可以使用帧内预测模式基于空间相邻的PU的样本块为PU产生预测性样本块。帧内预测处理单元164可以基于从位流剖析的一或多个语法元素为PU确定帧内预测模式。
运动补偿单元162可以至少部分地基于从位流提取的语法元素构造第一参考图片列表(列表0)和第二参考图片列表(列表1)。此外,如果PU是使用帧间预测编码的,那么熵解码单元150可以提取用于PU的运动信息。运动补偿单元162可以基于PU的运动信息确定用于PU的一或多个参考块。运动补偿单元162可以至少部分地基于用于PU的一或多个参考块产生用于PU的预测性样本块。
重建单元158可以使用与CU的TU相关联的残余样本块和CU的PU的预测性样本块(即合适的帧内预测数据或帧间预测数据)重建CU的样本块。具体来说,重建单元158可以将残余样本块的样本添加到预测性样本块的对应样本以重建CU的样本块。
滤波器单元159可以执行解块操作以减少与CTB的CU的样本块相关联的成块假象。视频解码器30可以将CU的样本块存储在经解码图片缓冲器160中。经解码图片缓冲器160可以为后续运动补偿、帧内预测和在显示器装置(例如图1的显示器装置32)上的呈现提供参考图片。举例来说,视频解码器30可以至少部分地基于经解码图片缓冲器160中的样本块对其它CU的PU执行帧内预测或帧间预测操作。
图4是说明使用死区的标量量化的概念图。在图4的实例中,每一圆圈说明重建值W′,并且每一垂直线指示决定等级。从图4可以看出,量化偏移f控制死区(即,映射到0的区间)的大小。量化偏移f还使重建等级偏离区间的中心。
图4的实例展示了其中f=Δ/2并且f=Δ/3的情况,其中f根据上述公式(1)表示量化偏移。从图4的实例可以观察到,当量化偏移从f=Δ/2减小到f=Δ/3时,死区增加,并且经重建的等级朝向0偏移。为了使重建误差最小化,经重建的值可以等于区间相对于经变换的系数的分布的均值。经变换的系数的分布可以建模为拉普拉斯分布。也就是 说,得出最小重建误差的量化偏移f应当小于Δ/2。此外,通过将量化偏移f减小成小于Δ/2,原先量化成等级n的系数可以量化成n-1。在HEVC中,量化偏移f根据经验针对帧内模式设置成Δ/3,并且针对帧间模式设置成Δ/6。
图5是说明量化偏移和等级决定的概念图。换句话说,图5展示了量化偏移与所得等级之间的关系。在图5的实例中,垂直条250指示在量化偏移为Δ/2时的决定等级。随着量化偏移改变(图5中展示为虚线垂直条),所述值可以依据值所在的位置而量化成等级n或等级n-1。如果值属于从n·Δ到(n+1/2)·Δ的范围,那么无论量化偏移是多少,经量化等级都可以仍然是n,如在图5中通过区252说明。然而,如果所述值属于从(n-1/2)·Δ到n·Δ的范围(区254),那么依据量化偏移以及值所在的位置,量化等级可以是n或n-1。
图6是说明根据本发明的一或多种技术对系数进行量化的实例操作300的流程图。在图6的实例中,量化单元106可以为系数块的系数确定初始经量化等级(302)。所述系数可以按照反向扫描次序在系数块中的第一非零系数之后出现。此外,量化单元106可以确定所述系数是否小于初始经量化等级与量化步长值的乘积(304)。
响应于确定变换系数小于初始经量化等级与量化步长值的乘积(304的“是”),量化单元106可以确定初始经量化等级是否小于三(305)。响应于确定初始经量化等级小于三(305的“是”),确定将系数量化成用于系数的初始经量化等级、初始经量化等级减去一和零的速率失真成本(306)。因此,量化单元106可以响应于确定初始经量化等级小于三而确定将系数量化成用于系数的初始经量化等级、初始经量化等级减去一和零的速率失真成本。此外,响应于确定用于系数的初始经量化等级不小于三(305的“否”),量化单元106可以确定将系数量化成初始经量化等级和初始经量化等级减去一的速率失真成本(308)。也就是说,量化单元106可以响应于确定初始经量化等级大于或等于三而确定将系数量化成初始经量化等级和初始经量化等级减去一的速率失真成本。更一般来说,量化单元106可以确定所述系数是否小于初始经量化等级与量化步长值的乘积。响应于确定变换系数小于初始经量化等级与量化步长值的乘积,量化单元106可以确定将系数量化成初始经量化等级和初始经量化等级减去一的速率失真成本。
在执行了动作306或动作308之后,量化单元106可以至少部分地基于计算出的速率失真成本确定用于系数的实际经量化等级(310)。在执行了动作306或308和动作310之后,或者响应于确定系数不小于初始经量化等级与量化步长值的乘积(304的“否”),量化单元106可以在系数块的经量化版本中包含实际经量化等级(312)。如果系数不小于初始经量化等级与量化步长值的乘积,那么实际经量化等级可以是用于系数的初始经量 化等级。此外,量化单元106可以对实际经量化等级进行熵编码(例如,CABAC编码)(314)。量化单元106可以输出包含经熵编码的实际经量化等级的位流(316)。
图7是说明根据本发明的一或多种技术对系数块的系数进行量化的实例操作350的流程图。图7的操作350可以实施类似于图6的操作300的技术的技术。在图7的实例中,量化单元106可以使上下文初始化(352),例如,C1=1,C2=0。量化单元106可以在确定RD成本时使用所述上下文。此外,量化单元106可以用反向对角线扫描次序来扫描经过系数块中的系数,并且使用1/2的量化偏移对系数块中的系数进行量化(354)。接下来,量化单元106可以确定系数块的最后有效系数(356)。最后有效系数可以是反向扫描次序中的第一非零变换系数。当用反向对角线扫描次序(也就是说,总体上从最高频率的系数前进到最低频率的系数)扫描系数时,最后有效系数是被量化成非零等级的第一个遇到的系数。
在扫描了系数块的最后有效系数之后,量化单元106可以执行图8中说明的操作350的部分。本文中稍后详细描述图8。当量化单元106执行图8中说明的操作350的部分时,量化单元106可以为每一相应的剩余非零系数确定用于相应剩余非零系数的最优等级。如下面相对于图8所述,量化单元106可以至少部分地基于用于相应剩余非零系数的经量化等级的RD成本来确定用于相应剩余非零系数的最优等级。剩余系数是根据反向对角线扫描次序在最后有效系数之后出现的系数。
在执行图8中的操作350的部分之后,如果当前块未经译码,那么量化单元106可以将最佳代码值初始化成等于RD成本(358)。也就是说,量化单元106可以确定对将系数块的每一系数量化成0将得到的RD成本。量化单元106可以将最佳代码值设置成等于这个RD成本。
此外,量化单元106可以使当前系数指示符初始化(360)。在一些实例中,量化单元106可以使当前系数指示符初始化以指示系数块的最后系数(例如,右下方的系数)。当前系数指示符指示系数块中的一个系数。本发明可以将当前系数指示符所指示的系数称为当前系数。
接下来,量化单元106可以确定当前系数是否具有大于1的经量化等级(362)。响应于确定当前系数具有大于1的经量化等级(362的“是”),量化单元106可以结束操作350。另一方面,响应于确定当前系数不具有大于1的经量化等级(362的“否”),量化单元106可以计算如果当前系数是最后有效系数的话将得到的总块RD成本(364)。这里,可以如下计算总块RD成本:Σi=1NDistortion(Ci)+λ·(Σi=1N(Ri+Rposx+Rposy+]]>Rsignificance_map)),]]>其中N是当前TU中的系数的总数,Ci是TU中的系数i,λ是固定值, Ri是用以对系数的经量化等级进行编码的位的数目,Ci是用以对最后有效系数的位置x和y进行编码的位的数目,并且Rsignificance_map是用以对有效性图进行编码的位的数目。
此外,量化单元106可以确定计算出的总块RD成本是否小于最佳成本值(366)。响应于确定计算出的总块RD成本小于最佳成本值(366的“是”),量化单元106可以将最佳的最后位置设置成当前位置,并且可以将最佳成本值设置成计算出的总块RD成本(368)。当前位置是当前系数在系数块内的位置。
在设置了最佳的最后位置指示符和最佳成本值之后或在确定计算出的总块RD成本不小于最佳成本值(366的“否”)之后,量化单元106可以更新当前系数指示符,使得当前系数指示符指示根据反向对角线扫描的系数块中的下一个系数(370)。量化单元106可以接着再次确定当前系数是否具有大于1的经量化等级(362)。以此方式,量化单元106可以根据反向对角线扫描来扫描经过系数块的系数,直到量化单元106遇到经量化等级大于1的系数为止。
图8是说明图7的操作350的实例部分的流程图。如图8的实例中所指示,量化单元106可以确定系数块中是否有任何剩余的非零系数(400)。响应于确定在系数块中没有剩余的非零系数(400的“否”),量化单元106可能已经确定了系数块中的每一系数的最优值,并且因此可能继续执行图7中说明的操作350的部分。
另一方面,响应于确定系数块中有一或多个剩余的非零系数(400的“是”),量化单元106可以确定当前系数的当前值是否小于当前系数的经重建的值(402)。当前系数的当前值可以是当前系数在量化之前的值。当前系数的经重建的值可以等于Level*StepSize,其中Level是用于当前系数的经量化等级,如在图7的动作354中确定。StepSize是用于对当前系数进行量化的量化步长Δ。
响应于确定当前系数的当前值小于当前系数的经重建的值(402的“是”),量化单元106可以确定当前系数的经量化等级(Level)是否小于3(404)。响应于确定用于当前系数的经量化等级小于3(404的“是”),量化单元106可以确定用0取代当前系数的RD成本(406)。在确定了用0取代当前系数的RD成本之后,或者响应于确定用于当前系数的经量化等级不小于3(404的“否”),量化单元106可以确定用用于当前系数的经量化等级(即,Level)取代当前系数的RD成本(408)。此外,量化单元106可以确定用用于当前系数的经量化等级(即,Level-1)取代当前系数的RD成本(410)。此外,量化单元106可以将用于当前系数的最优经量化等级选择为Level、Level-1和0中具有最低RD成本的任何一个(412)。以此方式,量化单元106可以选择产生最低速率失真成本的实际经量 化等级。
在为当前系数选择了最优经量化等级之后,或者响应于确定当前系数的当前值不小于当前系数的经重建的值(402的“否”),量化单元106可以更新将系数块的所有系数量化成0的RD成本(414)。此外,量化单元106可以更新对系数块的每一系数进行编码的RD成本(416)。量化单元106可以通过将当前系数的RD成本与系数块的先前处理的系数的RD成本的流动和相加而更新对系数块的每一系数进行编码的RD成本。此外,量化单元106可以更新对系数块的有效性图进行编码的RD成本(418)。量化单元106可以至少部分地基于将系数块的所有系数量化成0的RD成本、对系数块的每一系数进行编码的RD成本和对系数块的有效性图进行编码的RD成本来确定当前块的最后有效系数的最优值。
此外,量化单元106可以基于用于当前系数的所确定的最优经量化等级来更新上下文(420)。量化单元106可以在对系数块中的下一个系数的等级决定时使用所述上下文。在更新了上下文之后,量化单元106可以再次确定是否有任何剩余非零系数(400)。以此方式,量化单元106可以确定系数块中的系数中的每一个的最优值。
因此,在图7和8的操作350中,RDOQ技术的第三步骤(即,确定用于系数的最优等级)可以简化为:
3.对最优等级的决定
I.确定最后有效系数:用反向对角线次序被量化成非零的第一系数
II.对于反向对角线扫描中的剩余非零系数,基于RD成本选择最优等级
a.如果currentValue<Level*StepSize,也就是说,currentValue<reconstructedValue,那么选择最佳等级LLopt
i.如果Level<3,那么计算Level、Level-1和0的RD成本
ii.如果Level>=3,那么计算Level、Level-1的RD成本
b.更新编码成本
i.量化成0的成本(对于未经译码的块)
ii.对每一系数进行编码的成本
iii.对有效性图进行编码的成本
c.基于所决定的等级Lopt更新上下文。对下一个系数的等级决定将使用上下文
III.对下一个系数进行编码,并且去往步骤II。
下面的表6-9中展示了图6-8的实例技术的性能。如表6-9所示,通过实施图6-8的技术几乎不会引发RD性能损失。此外,可以计算等级决定节省Levelsave。如下定义 Levelsave
Levelsave=N[n·Δ,(n+12)·Δ]Ntotal]]>
在上面的等式中,是属于从n·Δ到(n+1/2)·Δ的范围内的值的数目,并且Ntotal是针对其执行等级决定的值的总数。实验结果展示,Levelsave是在60%到80%之间。也就是说,可以跳过60%到80%的等级决定,并且RDOQ中涉及的计算已经减少。
表6

表7

表8


表9

图9是说明根据本发明的一或多种技术对系数块的系数进行量化的实例操作450的流程图。视频编码器20可以执行操作450,作为对执行图6的操作300或图7和8的操作350的替代方案。
如图9的实例中说明,变换处理单元104可以对残余样本块应用一或多个变换以便产生系数块(452)。此外,变换处理单元104可以使用系数块中的相应系数的相应位置在查找表中查找用于相应系数的相应量化偏移(454)。在一些实例中,对于系数块中的每一相应位置,查找表中用于相应位置的条目至少部分地是基于RDOQ算法选择Level、Level-1或0作为用于位于其它测试数据系数块内的相应位置处的系数的最优经量化值的频率,其中Level标示用于系数的初始经量化值。
此外,量化单元106可以至少部分地基于用于一或多个相应系数的相应量化偏移来确定用于相应系数的相应经量化等级(456)。量化单元106可以至少部分地基于与用于所述一或多个系数的经量化等级相关联的成本来确定最优最后有效系数(458)。熵编码单元116可以至少部分地基于最优的最后有效系数对系数块的有效性图进行熵编码(460)。此外,熵编码单元116可以对在系数块内具有位于最优最后有效系数在系数块内的位置前面的位置的系数的经量化等级进行熵编码(462)。此外,视频编码器20可以输出包含经熵编码的经量化等级的位流(464)。
图10是说明根据本发明的一或多种技术对系数块的系数进行量化的另一实例操作 500的流程图。操作500可以使用与图9的操作450中的技术类似的技术。
如图10的实例中说明,量化单元106可以使一个上下文初始化(502)。如上所述,量化单元106可以在确定RD成本时使用所述上下文。此外,量化单元106可以使当前系数指示符初始化(504)。在一些实例中,量化单元106可以使当前系数指示符初始化以指示系数块的最后系数(例如,右下方的系数)。当前系数指示符指示系数块中的一个系数。本发明可以将当前系数指示符所指示的系数称为当前系数。
接下来,量化单元106可以根据本发明的技术使用查找表来确定用于当前系数的量化偏移(506)。因此,量化单元106可以使用当前系数的位置来查找用于当前系数的量化偏移。在一些实例中,查找表可以包含用于系数块中的每一位置的量化偏移。在此些实例中,对于系数块中的每一相应位置,查找表中用于相应位置的量化偏移至少部分地是基于其它系数块中的相应位置处的系数被量化成Level、Level-1和0的频率,其中Level是用于系数的初始经量化等级。
在一些实例中,量化单元106可以针对每一相应系数确定

其中z是用于相应系数的经量化等级,W是相应系数的初始值,f是用于系数的量化偏移,Δ是量化步长,标示朝向负无穷大舍入到最近的整数,并且sign()是返回相应系数的初始值的正负号的函数。
此外,量化单元106可以至少部分地基于所确定的量化偏移来确定用于当前系数的经量化等级(Level)(508)。量化单元106可以使用上面的等式(1)来确定用于当前系数的经量化等级。
量化单元106可以接着更新将系数块的所有系数量化成0的RD成本(510)。此外,量化单元106可以更新对系数块的每一系数进行编码的RD成本(512)。此外,量化单元106可以更新对系数块的有效性图进行编码的RD成本(514)。量化单元106可以至少部分地基于将系数块的所有系数量化成0的RD成本、对系数块的每一系数进行编码的RD成本和对系数块的有效性图进行编码的RD成本来确定当前块的最后有效系数的最优值。
量化单元106可以接着确定系数块中是否有任何剩余系数(516)。响应于确定系数块中有一或多个剩余系数(516的“是”),量化单元106可以更新当前系数指示符,使得当前系数指示符指示根据反向对角线扫描次序的系数块中的下一个系数(518)。量化单元 106可以接着再次使用查找表来确定用于新当前系数的量化偏移(506)。以此方式,量化单元160可以按照反向对角线扫描次序确定用于系数的经量化等级。此外,以此方式,量化单元106可以针对系数块中的每一相应剩余系数,使用查找表确定用于相应剩余系数的量化等级,并且可以至少部分地基于用于相应剩余系数的经量化等级来确定用于相应剩余系数的经量化等级。
另一方面,响应于确定系数块中没有更多的剩余系数(516的“否”),如果当前块未经译码,那么量化单元106可以使最佳代码值初始化成等于RD成本(520)。此外,量化单元106可以使当前系数指示符初始化(522)。在一些实例中,量化单元106可以使当前系数指示符初始化以指示系数块的最后系数(例如,右下方的系数)。当前系数指示符指示系数块中的一个系数。本发明可以将当前系数指示符所指示的系数称为当前系数。
接下来,量化单元106可以确定当前系数是否具有大于1的经量化等级(524)。响应于确定当前系数具有大于1的经量化等级(524的“是”),量化单元106可以结束操作500。另一方面,响应于确定当前系数不具有大于1的经量化等级(524的“否”),量化单元106可以计算如果当前系数是最后有效系数的话将得出的总块RD成本(526)。
此外,量化单元106可以确定计算出的总块RD成本是否小于最佳成本值(528)。响应于确定计算出的总块RD成本小于最佳成本值(528的“是”),量化单元106可以将最佳最后位置指示符设置成当前位置,并且可以将最佳成本值设置成计算出的总块RD成本(530)。当前位置是当前系数在系数块内的位置。
在设置了最佳最后位置指示符和最佳成本值之后或在确定计算出的总块RD成本不小于最佳成本值(528的“否”)之后,量化单元106可以更新当前系数指示符,使得当前系数指示符指示根据反向对角线扫描次序的系数块中的下一个系数(532)。量化单元106可以接着再次确定当前系数是否具有大于1的经量化等级(524)。以此方式,量化单元106可以根据反向对角线扫描次序来扫描经过系数块的系数,直到量化单元106遇到经量化等级大于1的系数为止。此外,以此方式,与用于所述一或多个系数的经量化等级相关联的成本包含与选择一或多个系数中的每一个作为最后有效系数相关联的速率失真成本。
因此,图10的操作可以实施下面的简化RDOQ算法:
1.使上下文初始化:C1=1,C2=0;
2.查找量化偏移表,按照反向对角线扫描次序用来自量化表的偏移对系数进行量化;
3.用于步骤5中的最后有效系数决定的成本计算
1)量化成0的成本(对于未经译码的块)
2)对每一系数进行编码的成本
3)对有效性图进行编码的成本
4.处理下一个系数,并且去往步骤2。
5.决定最优的最后有效系数
1)如果当前块未经译码,则将d64BestCost初始化成RD成本
2)在反向对角线扫描中,计算在当前系数是最后有效系数的情况下的总块成本totalCost
3)如果totalCost<d64BestCost,那么新的最佳最后位置(iBestLastIdxP1)是当前位置,d64BestCost=totalCost
4)重复到LevelofCurCoeff>1为止。
下面的表10-13说明与RDOQ打开的视频编码器的性能相比,图9和10的操作的量化偏移为1/2并且等级决定(即,RDOQ的第三步骤)被跳过并且具有最优的最后有效系数的实例性能。比较图9和10的简化RDOQ算法与原始RDOQ算法,现在用带有偏移的量化来取代对RD最优等级的选择。这样可以用较小的RD性能损失来减小RDOQ的复杂度。举例来说,如果视频编码器20选择1/2的量化偏移,并且跳过等级决定(即,RDOQ的第三步骤),那么图9和10的技术的性能与表10-13所示的RDOQ相比展示出从1%到3%的RD性能损失。
表10

表11

表12

表13

下面的表14-17说明在对于帧内模式量化偏移为1/3并且对于帧间模式量化偏移为 1/6并且等级决定跳过而且具有最优的最后有效系数的情况下图9和10的操作的实例性能,其中锚的RDOQ是打开的。也就是说,如果量化偏移对帧内模式被选择为1/3,并且对帧间模式被选择为1/6,那么表14-17展示了RD性能损失是从1.9%到3.6%。
表14

表15

表16


表17

下面的表18-21说明在对于帧内模式量化偏移为1/2并且对于帧间模式量化偏移为1/6并且等级决定跳过而且具有最优的最后有效系数的情况下图9和10的操作的实例性能,其中锚的RDOQ是打开的。也就是说,如果量化偏移对帧内模式被设置为1/2,并且对帧间模式被设置成1/6,那么RD性能损失可以是从1%到2.5%。
表18

表19


表20

表21

图11是说明根据本发明的一或多种技术的实例编码操作650的流程图。图11主要是为了说明RDOQ中涉及的模块。因此,一些过程从图11的实例中省略,并且被简化成例如“中间处理”和“其它处理”等块。在对每个TU执行了例如CU/PU分裂、模式决定、帧间/帧内预测等一些中间处理之后,一些视频编码器可以通过计算每一上下文模 型的熵来执行位估计。常规视频编码器可以接着使用所估计的位执行RDOQ。因此,此些视频编码器可以对每个TU执行位估计,并且在RDOQ期间,速率成本(λ·R)可能需要一直计算。
相比之下,在执行图11的操作650时,视频编码器20可以在对图片进行编码开始时仅执行一次位估计。视频编码器20可以接着对上下文模型中的每一个产生一个乘法表(针对λ·R)。以后,当视频编码器20执行RDOQ算法时,视频编码器20可以在乘法表中查找一个值以计算RD成本。
在图11的实例中,视频编码器20可以确定当前帧是否为最后帧(652)。响应于确定当前帧不是最后帧(652的“否”),视频编码器20可以执行位估计操作(654)。当视频编码器20执行位估计操作时,视频编码器20可以至少部分地基于前一帧中使用的上下文模型的熵来确定在当前帧中使用的每一上下文模型的熵。对于当前帧中使用的每一相应上下文模型,视频编码器20可以使用相应上下文模型的熵来分别确定每一适用的经量化等级的Rlevel的值、Rsig_map的值、RpositionX的值和RpositionY的值、有效性图旗标、最后有效系数(LSC)位置X和LSC位置Y。如上所述,Rlevel是被估计以对经量化等级进行编码的位的数目。Rsig_map是被估计用以对系数的有效性图进行编码的位的数目。RpositionX和RpositionY是被估计用以对最后有效系数的位置进行编码的位的数目。
在执行了位估计操作之后,视频编码器20可以产生乘法表(656)。乘法表可以为上下文与经量化等级值的每一组合指定λ·Rlevel的值。此外,乘法表可以为上下文与有效性图旗标值的每一组合指定λ·Rsig_map的值。乘法表还可以为上下文与LSC的X坐标的每一组合指定λ·RpositionX的值。乘法表还可以为上下文与LSC的Y坐标的每一组合指定λ·RpositionY的值。
在产生了乘法表之后,视频编码器20可以执行中间处理(658)。中间处理可以包含将当前帧分割成CU,将CU分割成PU和TU,为PU选择帧间或帧内预测模式,以此类推。
视频编码器20可以接着确定当前帧的每个TU是否已经经过处理(660)。响应于确定并非当前帧的每个TU都已经经过处理(660的“否”),视频编码器20可以对当前TU执行TU处理(662)。当视频编码器20对当前TU执行TU处理时,视频编码器20可以对TU的残余样本块应用一或多个变换。
视频编码器20可以接着对当前TU的系数块执行RDOQ(664)。当视频编码器20对当前TU的系数块执行RDOQ时,视频编码器20可以为系数块的每一系数确定一个最优的经量化值。当为特定系数确定最优的经量化值时,视频编码器20可以使用乘法表 查找用于当前经量化等级上下文的λ·Rlevel的值,以及用于特定系数的经量化等级。此外,当确定用于特定系数的最优的经量化值时,视频编码器20可以使用乘法表来查找用于当前有效性图旗标上下文的λ·Rsig_map的值和用于特定系数的有效性图旗标的值。此外,当确定最优的最后有效系数时,视频编码器20可以使用乘法表来查找用于当前LSC x坐标上下文和LSC的LSC x坐标的λ·RpositionX的值。当确定最优的最后有效系数时,视频编码器20可以使用乘法表来查找用于当前LSC y坐标上下文和LSC的LSC y坐标的λ·RpositionY的值。图11的实例中的虚线箭头指示在RDOQ期间乘法表的使用。通过在执行RDOQ时查找λ·Rlevel、λ·Rsig_map、λ·RpositionX和λ·RpositionY的值而不是执行双点乘法以确定λ·Rlevel、λ·Rsig_map、λ·RpositionX和λ·RpositionY的值,可以减少执行RDOQ的计算时间。
在对当前TU的系数块执行RDOQ之后,视频编码器20可以执行任何剩余的TU处理(666)。剩余的TU处理可以包含对指示当前TU的系数的经量化值的语法元素进行CABAC编码。视频编码器20可以接着再次确定当前帧的每个TU是否已经经过处理(660)。响应于确定对于当前帧已经对每个TU进行了处理(660的“是”),视频编码器20可以对当前帧执行其它处理(668)。用于当前帧的其它处理可包含环路滤波、位流操作和为下一个帧的预测产生经重建的帧,以此类推。在对当前帧执行了其它处理之后,视频编码器20可以再次确定当前帧是否为最后帧(652)。如果当前帧不是最后帧(652的“否”),那么视频编码器20可以相对于下一个帧执行动作654-668。否则,响应于确定当前帧是最后帧(652的“是”),视频编码器20可以结束操作650。
以此方式,量化单元106可以至少部分地基于前一帧的上下文模型的熵来确定用于上下文模型的速率值。此外,量化单元160可以针对上下文模型中的每一个产生指示λ的值乘以用于上下文模型的速率值的表,其中λ是固定值。确定将系数量化成用于系数的初始经量化等级、初始经量化等级减去一和零的速率失真成本,可以包括至少部分地基于表中的值来确定将系数量化成用于系数的初始经量化等级、初始经量化等级减去一和零的速率失真成本。
图12是说明根据本发明的技术的实例译码操作700的流程图。视频编码器20可以用多种译码模式操作,例如全部帧内(AI)模式、随机存取(RA)模式、低延迟B(LB)模式和低延迟P(LP)模式。在全部帧内配置(即,仅帧内配置)中,将视频序列中的每一图片编码为瞬时解码刷新(IDR)图片。IDR图片仅含有I切片。
在RA配置中,将帧内图片循环地插入到位流中。此外,在RA配置中,将视频序列的第一帧内图片编码为IDR图片,并且将其它帧内图片编码为非IDR图片。在RA配置中,将以显示次序位于连续帧内图片之间的图片编码为B图片。将一般化的P和 B(GPB)图片用作可以参考I或GPB图片以进行帧间预测的最低时间层。第二和第三时间层可以由参考B图片组成,并且最高时间层仅含有非参考B图片。可以通过依据时间层将偏移加到经帧内译码的图片的QP,而导出每一经帧间译码的图片的QP。可以使用参考图片列表组合来进行参考图片索引的管理和熵译码。
在低延迟配置(即,低延迟B配置和低延迟P配置)中,仅将视频序列中的第一图片编码为IDR图片。在低延迟B配置中,将把其它连续图片编码为B图片。在低延迟P配置中,将把其它连续图片编码为P图片。B或P图片(即,一般化的P或B(GPB)图片)仅使用参考图片,其图片次序计数(POC)值中的每一个小于当前图片的POC值(即,RefPicList0和RefPicList1中的所有参考图片相对于当前图片按照显示次序将在时间上的前面)。在低延迟B和P配置中,RefPicList0和RefPicList1的内容是相同的。
在图12的实例中,视频译码器(例如视频编码器20或视频解码器30)可以至少部分地基于视频编码器是在全部帧内配置、随机存取配置还是低延迟配置中操作来确定量化偏移(702)。此外,视频译码器可以至少部分地基于量化偏移来确定用于系数的相应经量化等级(704)。
在一些实例中,当视频编码器在全部帧内配置或随机存取配置中操作时,量化偏移等于1/2。在此些实例中,当视频编码器在低延迟配置中操作并且所述系数与帧内切片相关联时,量化偏移等于1/2。此外,在此些实例中,当视频编码器在低延迟配置中操作并且所述系数与帧间切片相关联时,量化偏移等于1/6。
下面的表22说明用于HEVC的不同配置(例如,全部帧内(AI)、随机存取(RA)、低延迟B(LB)和低延迟P(LP))下的不同偏移和RDOQ关闭的实例性能比较。也就是说,下面的表22比较不同量化偏移和RDOQ关闭的性能。从表22获得另一种产生量化偏移的方法。针对AI和RA配置,使用量化偏移1/2,因为其可以提供最佳性能。对于LB和LP配置,帧内切片应使用量化偏移1/2并且帧间切片应使用量化偏移1/6,因为其提供最佳性能。表10-22展示了通过选择适当的量化偏移,RD性能可以用减小的复杂度逼近RDOQ的性能。
表22

在一或多个实例中,所描述的功能可以在硬件、软件、固件或其任何组合中实施。如果在软件中实施,那么所述功能可以作为一或多个指令或代码在计算机可读媒体上存储或在其上传输,并且由基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体等有形的媒体,或者包含任何有助于例如根据通信协议将计算机程序从一处传递到另一处的任何媒体的通信媒体。以此方式,计算机可读媒体总体上可以对应于(1)非暂时性的有形的计算机可读存储媒体或(2)例如信号或载波等通信媒体。数据存储媒体可以是可以由一或多个计算机或一或多个处理器存取以检索指令、代码和/或数据结构以便实施本发明中描述的技术的任何可用媒体。计算机程序产品可以包含计算机可读媒体。
举例来说,并且并非限制,此些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用于以指令或数据结构的形式存储期望的程序代码并且可以由计算机存取的任何其它媒体。此外,任何连接都可以恰当地称为计算机可读媒体。举例来说,如果是使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或例如红外、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么可以将同轴电缆、光纤电缆、双绞线、DSL或例如红外、无线电和微波等无线技术包含在媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是针对非瞬时的有形的存储媒体。本文中使用的磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘使用激光光学地复制数据。上述各项的组合也应包含在计算机可读媒体的范围内。
可以由一或多个处理器执行指令,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,本文中使用的术语“处理器”可以指代前述结构中的任一个或者任何其它适合于实施本文中描述的技术的结构。此外,在一些方面中,本文中描述的功能性可以在经配置用于编码和解码或者并入在组合编解码器的专用硬件和/或软件模块内提供。此外,所述技术可以完全在一或多个电路或逻辑元件中实施。
本发明的技术可以在多种多样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元以强调装置的经配置以执行所揭示的技术的功能性方面,但是未必需要由不同硬件单元来实现。实情为,如上所述,各种单元可以在编解码器硬件单元中组合,或者由互操作性硬件单元的集合来提供,包含如上所述的一或多个处理器结合合适的硬件和/或固件。
已经描述了各种实例。这些和其它实例属于所附权利要求书的范围内。

速率失真优化量化中的等级决定.pdf_第1页
第1页 / 共48页
速率失真优化量化中的等级决定.pdf_第2页
第2页 / 共48页
速率失真优化量化中的等级决定.pdf_第3页
第3页 / 共48页
点击查看更多>>
资源描述

《速率失真优化量化中的等级决定.pdf》由会员分享,可在线阅读,更多相关《速率失真优化量化中的等级决定.pdf(48页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN104221375A43申请公布日20141217CN104221375A21申请号201380019185422申请日2013031461/623,92920120413US61/623,94820120413US61/624,11620120413US13/800,15520130313USH04N19/172201401H04N19/18201401H04N19/126201401H04N19/147201401H04N19/14920140171申请人高通股份有限公司地址美国加利福尼亚州72发明人于洋穆罕默德蔡德科班马尔塔卡切维奇74专利代理机构北京律盟知识产权代理有。

2、限责任公司11287代理人宋献涛54发明名称速率失真优化量化中的等级决定57摘要一种例如视频编码器等计算装置确定用于系数块的系数的初始经量化等级,并且确定所述系数是否小于所述初始经量化等级与量化步长值的乘积。响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积,所述计算装置确定将所述系数量化成是用于所述系数的所述初始经量化等级、所述初始经量化等级减去一以及在一些情形中量化成0的速率失真成本。所述计算装置至少部分地基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级,并且在所述系数块的经量化版本中包含实际经量化等级。30优先权数据85PCT国际申请进入国家阶段日201410。

3、0986PCT国际申请的申请数据PCT/US2013/0315962013031487PCT国际申请的公布数据WO2013/154747EN2013101751INTCL权利要求书3页说明书33页附图11页19中华人民共和国国家知识产权局12发明专利申请权利要求书3页说明书33页附图11页10申请公布号CN104221375ACN104221375A1/3页21一种对视频数据进行编码的方法,所述方法包括确定用于系数块的系数的初始经量化等级;确定所述系数是否小于所述初始经量化等级与量化步长值的乘积;以及响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积确定将所述系数量化成是所述初。

4、始经量化等级和所述初始经量化等级减去一的速率失真成本;以及至少部分地基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级。2根据权利要求1所述的方法,其进一步包括无需确定所述速率失真成本并且响应于确定所述系数不小于所述初始经量化等级与所述量化步长值的所述乘积,确定用于所述系数的所述实际经量化等级是用于所述系数的所述初始经量化等级。3根据权利要求1所述的方法,其进一步包括响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积响应于确定所述初始经量化等级小于三,确定将所述系数量化成是用于所述系数的所述初始经量化等级、所述初始经量化等级减去一的所述速率失真成本以及将所述系数量化成。

5、零的速率失真成本;以及响应于确定所述初始经量化等级大于或等于三,确定将所述系数量化成是所述初始经量化等级和所述初始经量化等级减去一的所述速率失真成本。4根据权利要求1所述的方法,其中所述系数按照反向扫描次序在所述系数块中在第一非零系数之后出现。5根据权利要求1所述的方法,其进一步包括确定最后有效系数,所述最后有效系数按照反向扫描次序是所述系数块的所述第一非零系数。6根据权利要求1所述的方法,其进一步包括对所述实际经量化等级进行熵编码;以及输出包含所述经熵编码的实际经量化等级的位流。7根据权利要求1所述的方法,其中确定所述实际经量化等级包括选择产生最低速率失真成本的实际经量化等级。8根据权利要求。

6、7所述的方法,其进一步包括通过将所述实际经量化等级与所述量化步长值相乘而产生所述系数的经重建的值。9根据权利要求1所述的方法,其中确定用于所述系数的所述初始经量化等级包括计算其中Z是用于所述系数的所述初始经量化等级,W是所述系数的初始值,F是用于所述系数的量化偏移,是量化步长,标示朝向负无穷大舍入到最近的整数,并且SIGN是返回所述系数的所述初始值的正负号的函数。10根据权利要求1所述的方法,其中所述方法进一步包括至少部分地基于前一帧的上下文模型的熵,确定用于所述上下文模型的速率值;以及权利要求书CN104221375A2/3页3产生针对所述上下文模型中的每一个指示的值乘以用于所述上下文模型的。

7、所述速率值的表,其中是固定值;并且其中确定所述速率失真成本包括至少部分地基于所述表中的所述值确定将所述系数量化成是用于所述系数的所述初始经量化等级、所述初始经量化等级减去一和零的所述速率失真成本。11一种对视频数据进行编码的计算装置,所述计算装置包括经配置以进行以下操作的一或多个处理器确定用于系数块的系数的初始经量化等级;确定所述系数是否小于所述初始经量化等级与量化步长值的乘积;以及响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积确定将所述系数量化成是所述初始经量化等级和所述初始经量化等级减一去的速率失真成本;以及基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级。。

8、12根据权利要求11所述的计算装置,其中所述一或多个处理器进一步经配置以无需确定所述速率失真成本并且响应于确定所述系数不小于所述初始经量化等级与所述量化步长值的所述乘积,确定用于所述系数的所述实际经量化等级是用于所述系数的所述初始经量化等级。13根据权利要求11所述的计算装置,其中所述一或多个处理器经配置以响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积响应于确定所述初始经量化等级小于三,确定将所述系数量化成是用于所述系数的所述初始经量化等级、所述初始经量化等级减去一的所述速率失真成本以及将所述系数量化成零的速率失真成本;以及响应于确定所述初始经量化等级大于或等于三,确定将所。

9、述系数量化成是所述初始经量化等级和所述初始经量化等级减去一的所述速率失真成本。14根据权利要求11所述的计算装置,其中所述系数按照反向扫描次序在所述系数块中在第一非零系数之后出现。15根据权利要求11所述的计算装置,其中所述一或多个处理器进一步经配置以确定最后有效系数,所述最后有效系数按照反向扫描次序是所述第一非零系数。16根据权利要求11所述的计算装置,其中所述一或多个处理器进一步经配置以对所述实际经量化等级进行熵编码;以及输出包含所述经熵编码的实际经量化等级的位流。17根据权利要求11所述的计算装置,其中所述一或多个处理器经配置以至少部分地通过选择产生最低速率失真成本的实际经量化等级来确定。

10、所述实际经量化等级。18根据权利要求17所述的计算装置,其中所述一或多个处理器进一步经配置以通过使所述实际经量化等级乘以所述量化步长值而产生所述系数的经重建的值。19根据权利要求11所述的计算装置,其中所述一或多个处理器经配置以通过计算下式来确定用于所述系数的所述初始经量化等级权利要求书CN104221375A3/3页4其中Z是用于所述系数的所述初始经量化等级,W是所述系数的初始值,F是用于所述系数的量化偏移,是量化步长,标示朝向负无穷大舍入到最近的整数,并且SIGN是返回所述系数的所述初始值的正负号的函数。20根据权利要求11所述的计算装置,其中所述一或多个处理器经配置以至少部分地基于前一帧。

11、的上下文模型的熵,确定用于所述上下文模型的速率值;产生针对所述上下文模型中的每一个指示的值乘以用于所述上下文模型的所述速率值的表,其中是固定值;并且至少部分地基于所述表中的所述值确定将所述系数量化成是用于所述系数的所述初始经量化等级、所述初始经量化等级减去一和零的所述速率失真成本。21一种计算装置,其包括用于确定用于系数块的系数的初始经量化等级的装置;用于确定所述系数是否小于所述初始经量化等级与量化步长值的乘积的装置;用于响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积确定将所述系数量化成所述初始经量化等级和所述初始经量化等级减去一的速率失真成本的装置;以及用于响应于所述系数。

12、小于所述初始经量化等级与所述量化步长值的所述乘积而基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级的装置。22一种存储指令的计算机可读存储媒体,所述指令当由计算装置的一或多个处理器执行时配置所述计算装置以进行以下操作确定用于系数块的系数的初始经量化等级;确定所述系数是否小于所述初始经量化等级与量化步长值的乘积;以及响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积确定将所述系数量化成是所述初始经量化等级和所述初始经量化等级减一的速率失真成本;以及基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级。权利要求书CN104221375A1/33页5速率失真优化量。

13、化中的等级决定0001本申请案要求2012年4月13日申请的第61/623,929号美国临时专利申请案、2012年4月13日申请的第61/623,948号美国临时专利申请案和2012年4月13日申请的第61/624,116号美国临时专利申请案的权益,所述美国临时专利申请案中的每一个的整个内容以引用的方式并入本文中。技术领域0002本发明涉及视频译码和压缩,并且具体来说涉及在视频译码中实施失真优化量化。背景技术0003数字视频能力可以并入到多种多样的装置中,包含数字电视、数字直接广播系统、无线广播系统、个人数字助理PDA、膝上型或台式计算机、平板计算机、电子书阅读器、数码相机、数字记录装置、数字。

14、媒体播放器、视频游戏装置、视频游戏控制台、蜂窝或卫星无线电话所谓的“智能手机”、视频电话会议装置、视频流式传输装置等等。数字视频装置实施视频压缩技术,例如在通过MPEG2、MPEG4、ITUTH263、ITUTH264/MPEG4第10部分、高级视频译码AVC、目前正在开发的高效视频译码HEVC标准和此些标准的扩展部分所定义的标准中描述的视频压缩技术。通过实施此些视频压缩技术,视频装置可以更有效率地发射、接收、编码、解码和/或存储数字视频信息。0004视频压缩技术执行空间图片内预测和/或时间图片间预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,视频切片即,视频帧或视频帧的一部分可以。

15、分割成视频块,这也可以称为树块、译码单元CU和/或译码节点。使用相对于相同图片中的相邻块的参考样本的空间预测对图片的经帧内译码I的切片中的视频块进行编码。图片的经帧间译码P或B的切片中的视频块可以使用相对于相同图片中的相邻块的参考样本的空间预测,或相对于其它参考图片中的参考样本的时间预测。图片可以称为帧,并且参考图片可以称为参考帧。0005空间或时间预测产生用于待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本块的运动向量对经帧间译码的块进行编码,并且残余数据指示经译码的块与预测性块之间的差。经帧内译码的块是根据帧内译码模式和残余数据编码的。。

16、为了进一步压缩,可以将残余数据从像素域变换到变换域,从而产生残余系数,接着可以对残余系数进行量化。可以扫描经量化系数起初布置成二维阵列,以便产生系数的一维向量,并且可以应用熵译码以实现甚至更大的压缩。发明内容0006总地来说,本发明描述量化技术。在一些实例中,一种例如视频编码器等计算装置确定用于系数块的系数的初始经量化等级,并且确定所述系数是否小于所述初始经量化等级与量化步长值的乘积。响应于确定所述系数小于所述初始经量化等级与量化步长值的乘说明书CN104221375A2/33页6积,所述计算装置确定将所述系数量化成用于所述系数的所述初始经量化等级、用于所述系数的所述初始经量化等级减去一以及在。

17、一些情形中量化成0的速率失真成本。所述计算装置至少部分地基于所述计算出的速率失真成本计算用于所述系数的实际经量化等级。所述计算装置在系数块的经量化版本中包含实际经量化等级。0007在一个实例中,本发明描述一种对视频数据进行编码的方法。所述方法包括确定用于系数块的系数的初始经量化等级。所述方法还包括确定所述系数是否小于所述初始经量化等级与量化步长值的乘积。此外,所述方法包括响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积,确定将所述系数量化成所述初始经量化等级和所述初始经量化等级减去一的速率失真成本。此外,所述方法包括响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所。

18、述乘积,至少部分地基于计算出的速率失真成本确定用于所述系数的实际经量化等级。0008在另一实例中,本发明描述一种对视频数据进行编码的计算装置。所述计算装置包括经配置以确定用于系数块的系数的初始经量化等级的一或多个处理器。所述一或多个处理器还经配置以确定所述系数是否小于初始经量化等级与量化步长值的乘积。所述一或多个处理器经配置使得响应于确定所述系数小于初始经量化等级与量化步长值的乘积,所述一或多个处理器确定使所述系数量化成初始经量化等级和初始经量化等级减去一的速率失真成本。此外,响应于确定系数小于初始经量化等级与量化步长值的乘积,所述一或多个处理器基于计算出的速率失真成本确定系数的实际经量化等级。

19、。0009在另一实例中,本发明描述了一种计算装置,其包括用于确定系数块的系数的初始经量化等级的装置。此外,所述计算装置还包括用于确定所述系数是否小于初始经量化等级与量化步长值的乘积的装置。此外,所述计算装置包括用于响应于所述系数小于所述初始经量化等级与所述量化步长值的所述乘积确定将所述系数量化成所述初始经量化等级和所述初始经量化等级减去一的速率失真成本的装置。所述计算装置还包括用于响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积,基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级的装置。0010在另一实例中,本发明描述一种存储指令的计算机可读存储媒体,所述指令在由计。

20、算装置的一或多个处理器执行时配置所述计算装置以确定用于系数块的系数的初始经量化等级。所述指令还配置所述计算装置以确定所述系数是否小于所述初始经量化等级与所述量化步长值的所述乘积。所述指令还配置所述计算装置,使得响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积,确定将所述系数量化成所述初始经量化等级和所述初始经量化等级减去一的速率失真成本。此外,所述指令配置所述计算装置,使得响应于确定所述系数小于所述初始经量化等级与所述量化步长值的所述乘积,所述计算装置基于所述计算出的速率失真成本确定用于所述系数的实际经量化等级。0011附图和下面的描述中阐述本发明的一或多个实例的细节。通过描。

21、述、图式和权利要求书,将明白其它特征、目的和优点。附图说明0012图1是说明可以利用本发明中描述的技术的实例视频译码系统的框图。0013图2是说明可以实施本发明中描述的技术的实例视频编码器的框图。说明书CN104221375A3/33页70014图3是说明可以实施本发明中描述的技术的实例视频解码器的框图。0015图4是说明使用死区的标量量化的概念图。0016图5是说明量化偏移和等级决定的概念图。0017图6是说明根据本发明的一或多种技术对系数进行量化的实例操作的流程图。0018图7是说明根据本发明的一或多种技术对系数块的系数进行量化的实例操作的流程图。0019图8是说明图7的操作的实例部分的流。

22、程图。0020图9是说明根据本发明的一或多种技术对系数块的系数进行量化的另一实例操作的流程图。0021图10是说明根据本发明的一或多种技术对系数块的系数进行量化的另一实例操作的流程图。0022图11是说明根据本发明的技术的另一实例编码操作的流程图。0023图12是说明根据本发明的技术的另一实例译码操作的流程图。具体实施方式0024视频编码器可以在视频编码期间对系数进行量化。对系数进行量化可能会减小系数的位深度。在高效视频译码HEVC中,视频编码器可以使用利用死区技术的标量量化或使用速率失真优化量化RDOQ技术执行量化。RDOQ技术与使用死区技术的标量量化相比可以实现显著的性能增益。然而,RDO。

23、Q技术比使用死区技术的标量量化明显更复杂。0025本发明的技术可以减小RDOQ技术的复杂度。举例来说,RDOQ可能会涉及确定系数的经量化等级LEVEL、LEVEL1和0的速率失真RD成本。本发明的一些技术可以通过只有在系数的计算出的值小于LEVEL与量化步长值的乘积的情况下才确定系数的经量化等级LEVEL、LEVEL1和0的RD成本而减小RDOQ技术的复杂度。通过只有在满足这个条件时才确定这些RD成本,可以减小执行RDOQ技术的复杂度。在另一实例中,本发明的一些技术可以减小RDOQ技术的复杂度,因为实施这些技术的视频编码器可以在量化偏移查找表中查找量化偏移,并且使用这些量化偏移对系数进行量化。。

24、通过在量化偏移查找表中查找量化偏移,可能不必要确定每一系数的LEVEL、LEVEL1和0的RD成本。消除LEVEL、LEVEL1和0的RD成本的确定,可以减小RDOQ技术的复杂度。在另一实例中,可以通过产生一个视频编码器在计算RDOQ技术中的各种RD成本时可以使用的乘法表来减小RDOQ技术的复杂度。0026附图说明了实例。附图中的参考标号所指示的元件对应于下面的描述中的相同参考标号所指示的元件。在本发明中,具有用顺序词语例如,“第一”、“第二”、“第三”等等开头的名称的元件不一定暗示所述元件具有特定的次序。实情为,此些顺序词语可能只是用来指代相同或相似类型的不同元件。0027图1是说明可以利用。

25、本发明的技术的实例视频译码系统10的框图。如本文中所述描述,术语“视频译码器”总体上是指视频编码器和视频解码器两者。在本发明中,术语“视频译码”或“译码”可以总体上指代视频编码或视频解码。0028如图1所示,视频译码系统10包含源装置12和目的地装置14。源装置12产生经编码的视频数据。因此,源装置12可以称为视频编码装置或视频编码设备。目的地装置说明书CN104221375A4/33页814可以对源装置12所产生的经编码的视频数据进行解码。因此,目的地装置14可以称为视频解码装置或视频解码设备。源装置12和目的地装置14可以是视频译码装置或视频译码设备的实例。源装置12和目的地装置14可以包。

26、括多种多样的装置,包含台式计算机、移动计算装置、笔记本例如,膝上型计算机、平板计算机、机顶盒、电话手持机例如所谓的“智能”电话、电视机、相机、显示器装置、数字媒体播放器、视频游戏控制台、车载计算机等等。0029目的地装置14可以经由信道16从源装置12接收经编码的视频数据。信道16可以包括能够将经编码的视频数据从源装置12移动到目的地装置14的一或多个媒体和/或装置。在一个实例中,信道16可以包括使得源装置12能够实时地将经编码的视频数据直接发射到目的地装置14的一或多个通信媒体。在这个实例中,源装置12可以根据通信标准例如无线通信协议调制经编码的视频数据,并且可以将经调制的视频数据发射到目的。

27、地装置14。所述一或多个通信媒体可以包含无线和/或有线通信媒体,例如射频RF频谱或一或多个物理传输线。所述一或多个通信媒体可以形成基于包的网络例如,局域网、广域网或全球网络例如,因特网的一部分。所述一或多个通信媒体可以包含路由器、交换机、基站或其它便于从源装置12到目的地装置14的通信的设备。0030在另一实例中,信道16可以包含存储源装置12所产生的经编码的视频数据的存储媒体。在这个实例中,目的地装置14可以经由磁盘存取或卡存取来存取存储媒体。所述存储媒体可包含多种本机存取的数据存储媒体,例如蓝光光盘、DVD、CDROM、快闪存储器或其它适合于存储经编码的视频数据的数字存储媒体。0031在另。

28、一实例中,信道16可包含文件服务器或另一存储源装置12所产生的经编码的视频数据的中间存储装置。在这个实例中,目的地装置14可以经由流式传输或下载来存取被存储在文件服务器或其它中间存储装置处的经编码的视频数据。所述文件服务器可以是能够存储经编码的视频数据并且将经编码的视频数据发射到目的地装置14的类型的服务器。实例文件服务器包含网络服务器例如,用于网站、文件传送协议FTP服务器、网络附接存储NAS装置和本机磁盘驱动器。0032目的地装置14可以通过标准数据连接例如因特网连接存取经编码的视频数据。数据连接的实例包含无线信道例如,WIFI连接、有线连接例如,DSL、电缆调制解调器等或这两者的适合于存。

29、取被存储在文件服务器上的经编码的视频数据的组合。从文件服务器发射经编码的视频数据可以是流式传输发射、下载发射或这两者的组合。0033本发明的技术不限于无线应用或设置。所述技术可以应用于支持多种多媒体应用的视频译码,所述多媒体应用例如是空中电视广播、有线电视发射、卫星电视发射、流式传输视频发射例如,经由因特网、对视频数据编码以用于存储在数据存储媒体上、对存储在数据存储媒体上的视频数据的解码或其它应用。在一些实例中,视频译码系统10可以经配置以支持单向或双向视频发射以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。0034在图1的实例中,源装置12包含视频源18、视频编码器20和输出。

30、接口22。在一些实例中,输出接口22可包含调制器/解调器调制解调器和/或发射器。视频源18可包含视频俘获装置,例如,摄像机、含有先前俘获的视频数据的视频档案、用以从视频内容提供者接收视频数据的视频馈送接口和/或用于产生视频数据的计算机图形系统或此说明书CN104221375A5/33页9些视频数据源的组合。0035视频编码器20可对来自视频源18的视频数据进行编码。在一些实例中,源装置12经由输出接口22将经编码的视频数据发射到目的地装置14。经编码的视频数据还可存储到存储媒体或文件服务器上以供目的地装置14稍后存取以便解码和/或回放。0036在图1的实例中,目的地装置14包含输入接口28、视。

31、频解码器30和显示器装置32。在一些实例中,输入接口28包含接收器和/或调制解调器。输入接口28可以经由信道16接收经编码的视频数据。显示器装置32可以与目的地装置14集成或者可以在目的地装置14外部。总地来说,显示器装置32显示经解码的视频数据。显示器装置32可以包括多种显示器装置,例如液晶显示器LCD、等离子显示器、有机发光二极管OLED显示器或另一类型的显示器装置。0037视频编码器20和视频解码器30可以根据视频压缩标准操作,例如目前正在开发的高效视频译码HEVC标准,并且可以符合HEVC测试模型HM。布罗斯等人的文档JCTVCH1003“高效率视频译码HEVC文本规范草案6HIGHE。

32、FCIENCYVIDEOCODINGHEVCTEXTSPECICATIONDRAFT6”ITUTSG16WP3和ISO/IECJTC1/SC29/WG11的视频译码联合合作小组JCTVC,第8届会议,美国加州圣何塞市,2012年2月中描述了即将到来的HEVC标准的草案,称为“HEVC工作草案6”或“WD6”,所述文档截至2013年2月21日,可以从HTTP/PHENIXINTEVRYFR/JCT/DOC_END_USER/DOCUMENTS/8_SAN20JOSE/WG11/JCTVCH1003V22ZIP下载,并且其整个内容以引用的方式并入本文中。布罗斯等人的“高效率视频译码HEVC文本规范。

33、草案9HIGHEFCIENCYVIDEOCODINGHEVCTEXTSPECICATIONDRAFT9”ITUTSG16WP3和ISO/IECJTC1/SC29/WG11的视频译码联合合作小组JCTVC,第11届会议,中国上海,2012年10月中描述了即将到来的HEVC标准的另一份草案,称为“HEVC工作草案9”,所述文档截至2013年2月21日,可以从HTTP/PHENIXINTEVRYFR/JCT/DOC_END_USER/DOCUMENTS/11_SHANGHAI/WG11/JCTVCK1003V8ZIP下载,并且其整个内容以引用的方式并入本文中。0038或者,视频编码器20和视频解码器。

34、30可以根据其它私有或行业标准操作,包含ITUTH261、ISO/IECMPEG1VISUAL、ITUTH262或ISO/IECMPEG2VISUAL、ITUTH263、ISO/IECMPEG4VISUAL和ITUTH264也称为ISO/IECMPEG4AVC,包含其可缩放视频译码SVC和多视图视频译码MVC扩展部分。然而,本发明的技术不限于任何特定的译码标准或技术。0039同样,图1只是一个实例,并且本发明的技术可以适用于视频译码设置例如,视频编码或视频解码,其不一定包含编码与解码装置之间的任何数据通信。在其它实例中,数据是从本机存储器检索的,经由网络流式传输的等等。编码装置可以对数据进行编。

35、码并且将数据存储到存储器,且/或解码装置可以从存储器检索数据并且对数据进行解码。在许多实例中,编码和解码是由不彼此通信而只是将数据编码到存储器和/或从存储器检索和解码数据的装置执行的。0040视频编码器20和视频解码器30各自可以实施为多种合适电路中的任一种,例如一或多个微处理器、数字信号处理器DSP、专用集成电路ASIC、现场可编程门阵列FPGA、离散逻辑、硬件或其任何组合。如果所述技术部分地是用软件实施的,那么装置可以将用于软件的指令存储在合适的非暂时性计算机可读存储媒体中,并且可以使用一或多说明书CN104221375A6/33页10个处理器在硬件中执行指令以执行本发明的技术。前述包含硬。

36、件、软件、硬件与软件的组合等中的任一个都可以被视为一或多个处理器。视频编码器20和视频解码器30中的每一个都可以包含在一或多个编码器或解码器中,其中的任一个可以作为组合编码器/解码器编解码器的一部分集成在相应的装置中。0041本发明可总体上称视频编码器20向另一装置例如视频解码器30“发信号通知”某一信息。术语“发信号通知”可以总体上指代传达语法元素和/或其它表示经编码的视频数据的数据。此通信可以实时地或近实时地发生。或者,此通信可以在一段时间中发生,例如在编码时在经编码的位流中将语法元素存储到计算机可读存储媒体时可能发生的情况,所述语法元素在被存储到这个媒体之后的任何时间可以被解码装置检索。。

37、0042如上文简述的,视频编码器20对视频数据进行编码。视频数据可包括一或多个图片。所述图片中的每一个可以是静态图像。在一些例子中,图片可以称为视频“帧”。视频编码器20可以产生位流,所述位流包含形成视频数据的经译码的表示的位序列。视频数据的经译码的表示可包含经译码的图片和相关联的数据。经译码的图片是图片的经译码的表示。相关联的数据可以包含序列参数集SPS、图片参数集PPS和其它语法结构。SPS可含有可应用于零或更多个图片序列的参数。PPS可含有可应用于零或更多个图片的参数。语法结构可以是以指定次序一起存在于位流中的一组零或更多个语法元素。0043为了产生图片的经编码的表示,视频编码器20可以。

38、将图片分割成译码树块CTB的网格。因此,每一CTB可以与图片的一个区域相关联。在一些例子中,CTB可以称为“树块”、“最大译码单元”LCU或“译码树单元”。HEVC的CTB可以大概类似于先前标准例如H264/AVC中的宏块。然而,CTB不一定限于特定大小,并且可包含一或多个译码单元CU。0044CTB中的每一个可以与一个亮度LUMA样本块和两个色度CHROMA样本块相关联,其对应于与CTB相关联的区域中的像素。为了便于解释,本发明可以将样本的二维阵列称为样本块。视频编码器20可以使用四叉树分割将与CTB相关联的区域分割成与CU相关联的区域,因此得来“译码树块”的名称。0045图片的CTB可以分。

39、组成一或多个切片。在一些实例中,切片中的每一个包含整数个CTB。作为对图片进行编码的一部分,视频编码器20可以产生图片的每一切片的经编码的表示即,经译码的切片。为了产生经译码的切片,视频编码器20可以对切片的每一CTB进行编码,以产生切片的CTB中的每一个的经编码的表示即,经译码的CTB。0046为了产生经译码的CTB,视频编码器20可以对与CTB相关联的区域递归地执行四叉树分割,以将所述区域划分成逐渐变小的区域。更小的区域可以与CU相关联。更小的区域中的每一个可以与一个亮度样本块和两个色度样本块相关联。因此,CU可以与一个亮度样本块和两个色度样本块相关联。经分割的CU可以是其区域被分割成与其。

40、它CU相关联的区域的CU。未经分割的CU可以是其区域未被分割成与其它CU相关联的区域的CU。0047视频编码器20可以为每一未经分割的CU产生一或多个预测单元PU。CU的PU中的每一个可以与CU的区域内的不同区域相关联。视频编码器20可以为CU的每一PU产生预测性样本块。0048视频编码器20可以使用帧内预测或帧间预测产生PU的预测性样本块。如果视频编码器20使用帧内预测产生PU的预测性样本块,那么视频编码器20可以基于与PU相关说明书CN104221375A107/33页11联的图片的经解码的样本产生PU的预测性样本块。如果视频编码器20使用帧间预测产生PU的预测性样本块,那么视频编码器20。

41、可以基于除了与PU相关联的图片之外的一或多个图片的经解码的样本产生PU的预测性样本块。0049视频编码器20可以基于CU的PU的预测性样本块产生CU的残余样本块。CU的残余样本块可以指示CU的PU的预测性样本块中的样本与CU的原始样本块中的对应样本之间的差。0050此外,作为对未经分割的CU进行编码的一部分,视频编码器20可以对CU的残余样本块执行递归四叉树分割,以将CU的残余样本块分割成与CU的变换单元TU相关联的一或多个更小的残余样本块。因为CU的样本块可包含一个亮度样本块和两个色度样本块,所以TU中的每一个可以与亮度样本的一个残余样本块和色度样本的两个残余样本块相关联。0051视频译码器。

42、20可以对与TU相关联的残余样本块应用一或多个变换以产生系数块即,系数的块。视频编码器20可以对系数块中的每一个执行量化过程。量化总体上是指系数被量化以可能地减少用于表示系数的数据量从而提供进一步压缩的过程。0052视频编码器20可以对这些语法元素中的至少一些应用熵编码操作,例如上下文自适应二进制算术译码CABAC操作。除了对系数块的语法元素进行熵编码之外,视频编码器20还可以对变换块应用逆量化和逆变换以从变换块重建残余样本块。视频编码器20可以将经重建的残余样本块添加到来自一或多个预测性样本块的对应样本以产生经重建的样本块。通过以此方式为CU的每一TU重建样本块,视频编码器20可以重建CU的。

43、样本块。0053在视频编码器20重建了CU的样本块之后,视频编码器20可以执行解块操作以减少与CU相关联的成块假象。在执行这些操作之后,视频编码器20可以将CU的经重建的样本块存储在经解码图片缓冲器中,以用于产生用于其它CU的PU的预测性样本块。0054视频解码器30可以接收位流。位流可包含视频编码器20编码的视频数据的经译码的表示。视频解码器30可剖析位流以从位流提取语法元素。作为从位流提取至少一些语法元素的一部分,视频解码器30可以对位流中的数据进行熵解码。0055视频解码器30可以基于从位流提取的语法元素重建视频数据的图片。基于语法元素重建视频数据的过程可以总体上与视频编码器20执行以产。

44、生语法元素的过程相反。举例来说,视频解码器30可以基于与CU相关联的语法元素产生用于CU的PU的预测性样本块。此外,视频解码器30可以对与CU的TU相关联的系数块进行逆量化。视频解码器30可以对系数块执行逆变换以重建与CU的TU相关联的残余样本块。视频解码器30可以基于预测性样本块和残余样本块重建CU的样本块。0056如上所述,视频编码器20可以产生残余样本块。残余样本块中的每一标本可以指示样本块的原始版本与相同样本块的预测性版本中的对应样本之间的差。在产生残余样本块之后,视频编码器20可以对残余样本块应用一或多个变换。通过对残余样本块应用一或多个变换,视频编码器20可以将残余样本块从样本域转。

45、换到频率域。结果是变换系数的块即,“变换系数块”或“系数块”。在一些实例中,变换的目的是将信号去除相关成不同的频率分量。此外,在一些实例中,视频编码器20不对残余样本块应用变换。在此些实例中,视频编码器20可以用与系数块相同的方式处理残余样本块。为了便于解释,本发明中对系说明书CN104221375A118/33页12数块的论述可以适用于视频编码器20不对其应用一或多个变换的残余样本块。0057此外,如上所述,在产生系数块之后,视频编码器20可以对系数块的系数进行量化。对系数进行量化可能会减小系数的位深度。量化是可以减少编码中的失真的过程。在此之后,使用可变长度译码例如CABAC对经量化系数进。

46、行编码。在HEVC中,有用于量化的两种技术。第一量化技术是使用死区的标量量化。第二量化技术是速率失真优化量化RDOQ。0058在使用死区技术的标量量化中,视频编码器20使用下面的等式1将系数映射到离散的经量化等级00590060在等式1中,指示朝负无穷大舍入到最近的整数,并且SIGN是返回输入信号的正负号的函数,W是量化步长,并且F是量化偏移。在等式1中,量化偏移F控制死区的大小。死区是映射到0的区间。量化偏移F还使重建等级偏离映射到0的区间的中心。Z指示经量化等级的值。0061在解码期间,视频解码器30可以使用下面的等式2对变换系数进行逆量化0062WZ20063在等式2中,W标示经解量化的。

47、系数,是量化步长,并且Z是接收到的经量化等级。0064RDOQ技术试图优化速率即,经编码的视频数据的位速率与失真之间的折中。总地来说,视频编码器20可以通过执行下列步骤来执行RDOQ技术。首先,视频编码器20可以使上下文初始化C11,C20。第二,视频编码器20可以用反向对角线扫描次序扫描经过系数块的系数。当视频编码器20扫描每一系数时,视频编码器20可以使用1/2的量化偏移对系数进行量化。第三,视频编码器20可以确定系数块中的系数的最优等级。第四,视频编码器20可以确定最优的最后有效系数。0065为了在前一段的第三步骤中确定用于系数的最优等级,视频编码器20可以执行下面的步骤。首先,视频编码。

48、器20可以确定最后有效系数。当用反向对角线扫描次序扫描系数时,最后有效系数是被量化成非零等级的第一个遇到的系数。第二,对于每一剩余非零系数,视频编码器20可以基于用于系数的经量化等级的速率失真RD成本选择最优等级。剩余系数是根据反向对角线扫描次序在最后有效系数之后发生的系数。0066为了选择用于系数即,当前系数的最优经量化等级,视频编码器20可以确定用于当前系数的经量化等级是否小于3。如果用于当前系数的经量化等级小于3,那么视频编码器20可以计算将从用值LEVEL取代当前系数得出的RD成本,其中LEVEL标示用于上面计算的当前系数的经量化等级。此外,如果用于当前系数的经量化等级小于3,那么视频。

49、编码器20可以计算将从用LEVEL1取代当前系数得出的RD成本。此外,如果当前系数的经量化等级小于3,那么视频编码器20可以计算将从用0值取代当前系数得出的RD成本。0067如果用于当前系数的经量化等级大于或等于3,那么视频编码器20可以计算将从用LEVEL值取代当前系数得出的RD成本。此外,如果用于当前系数的经量化等级大于或等于3,那么视频编码器20可以计算将从用LEVEL1取代当前系数得出的RD成本。说明书CN104221375A129/33页130068此外,当视频编码器20选择了用于当前系数的最优经量化等级时,视频编码器20可以更新将系数块的所有系数量化成0从而得到未经译码的块的RD成本。视频编码器20还更新对系数块的每一系数进行编码的RD成本。此外,视频编码器20更新对系数块的有效性图进行编码的成本。系数块的有效性图指示系数块的哪些系数为非零。0069此外,视频编码器20基于当前系数的经优化的经量化LOPT更新上下文。视频编码器20可以将LOPT确定为具有最低RD成本的当前系数的经量化等级即,LEVEL、LEVEL1或0。视频编码器20可以使用上下文来执行对下一个系数的等级决定。举例来说,视频编码器20可以至少部分地基于上下文确定与下一个系数相关联的各种RD成本。0070如上文指示,视频编码器20可以作为执行RDOQ技术的一部分确。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 >


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1