CN104221377A - 用于速率失真优化量化的查找表 - Google Patents

用于速率失真优化量化的查找表 Download PDF

Info

Publication number
CN104221377A
CN104221377A CN201380019799.2A CN201380019799A CN104221377A CN 104221377 A CN104221377 A CN 104221377A CN 201380019799 A CN201380019799 A CN 201380019799A CN 104221377 A CN104221377 A CN 104221377A
Authority
CN
China
Prior art keywords
coefficient
quantification
block
video encoder
skew
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201380019799.2A
Other languages
English (en)
Other versions
CN104221377B (zh
Inventor
于洋
穆罕默德·蔡德·科班
马尔塔·卡切维奇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104221377A publication Critical patent/CN104221377A/zh
Application granted granted Critical
Publication of CN104221377B publication Critical patent/CN104221377B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/124Quantisation
    • H04N19/126Details of normalisation or weighting functions, e.g. normalisation matrices or variable uniform quantisers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/147Data rate or code amount at the encoder output according to rate distortion criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/149Data rate or code amount at the encoder output by estimating the code amount by means of a model, e.g. mathematical model or statistical model
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/172Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a picture, frame or field
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/18Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a set of transform coefficients

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Algebra (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

一种例如视频编码器等计算装置使用相应系数在系数块中的相应位置在查找表中查找用于所述相应系数的相应量化偏移。此外,所述计算装置至少部分地基于用于一或多个系数的量化偏移确定用于所述相应系数的相应经量化等级。

Description

用于速率失真优化量化的查找表
本申请案要求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-TH264/MPEG-4第10部分、高级视频译码(AVC)、目前正在开发的高效视频译码(HEVC)标准和此些标准的扩展部分所定义的标准中描述的视频压缩技术。通过实施此些视频压缩技术,视频装置可以更有效率地发射、接收、编码、解码和/或存储数字视频信息。
视频压缩技术执行空间(图片内)预测和/或时间(图片间)预测以减少或移除视频序列中固有的冗余。对于基于块的视频译码,视频切片(即,视频帧或视频帧的一部分)可以分割成视频块,这也可以称为树块、译码单元(CU)和/或译码节点。使用相对于相同图片中的相邻块的参考样本的空间预测对图片的经帧内译码(I)的切片中的视频块进行编码。图片的经帧间译码(P或B)的切片中的视频块可以使用相对于相同图片中的相邻块的参考样本的空间预测,或相对于其它参考图片中的参考样本的时间预测。图片可以称为帧,并且参考图片可以称为参考帧。
空间或时间预测产生用于待译码的块的预测性块。残余数据表示待译码的原始块与预测性块之间的像素差。根据指向形成预测性块的参考样本块的运动向量对经帧间译码的块进行编码,并且残余数据指示经译码的块与预测性块之间的差。经帧内译码的块是根据帧内译码模式和残余数据编码的。为了进一步压缩,可以将残余数据从像素域变换到变换域,从而产生残余系数,接着可以对残余系数进行量化。可以扫描经量化系数(起初布置成二维阵列),以便产生系数的一维向量,并且可以应用熵译码以实现甚至更大的压缩。
发明内容
总地来说,本发明描述量化技术。在一些实例中,例如视频编码器等计算装置存储查找表。所述查找表包含将系数块内的位置映射到量化偏移的条目。所述计算装置使用相应系数在系数块中的相应位置在查找表中查找用于相应系数的相应量化偏移。此外,所述计算装置至少部分地基于用于一或多个系数的量化偏移确定用于系数的经量化等级。
在一个实例中,本发明描述一种对视频数据进行编码的方法。所述方法包括使用相应系数在系数块中的相应位置在查找表中查找用于相应系数的相应量化偏移。所述方法还包括至少部分地基于用于一或多个相应系数的相应量化偏移来确定用于相应系数的相应经量化等级。
在另一实例中,本发明描述一种对视频数据进行编码的计算装置。所述计算装置包括经配置以使用相应系数在系数块中的相应位置在查找表中查找用于相应系数的相应量化偏移的一或多个处理器。此外,所述一或多个处理器经配置以至少部分地基于用于一或多个相应系数的相应量化偏移来确定用于相应系数的相应经量化等级。
在另一实例中,本发明描述一种对视频数据进行编码的计算装置。所述计算装置包括用于使用相应系数在系数块中的相应位置在查找表中查找用于相应系数的相应量化偏移的装置。此外,所述计算装置还包括用于至少部分地基于用于一或多个相应系数的相应量化偏移来确定用于相应系数的相应经量化等级的装置。
在另一实例中,本发明描述一种存储指令的计算机可读存储媒体,所述指令在被计算装置的一或多个处理器执行时,配置所述计算装置以使用相应系数在系数块中的相应位置在查找表中查找用于相应系数的相应量化偏移。所述指令还配置所述计算装置以至少部分地基于用于一或多个相应系数的相应量化偏移来确定用于相应系数的相应经量化等级。
在另一实例中,本发明描述一种方法,其包括至少部分地基于视频编码器是在全部帧内配置、随机存取配置还是低延迟配置中操作而确定量化偏移。所述方法还包括至少部分地基于所述量化偏移来确定用于系数的相应经量化等级。
在另一实例中,本发明描述一种包括一或多个处理器的计算装置,所述一或多个处理器经配置以至少部分地基于视频编码器是在全部帧内配置、随机存取配置还是低延迟配置中操作而确定量化偏移。此外,所述一或多个处理器至少部分地基于所述量化偏移来确定用于系数的相应经量化等级。
在另一实例中,本发明描述一种计算装置,其包括用于至少部分地基于视频编码器是在全部帧内配置、随机存取配置还是低延迟配置中操作而确定量化偏移的装置。此外,所述计算装置包括用于至少部分地基于所述量化偏移来确定用于系数的相应经量化等级的装置。
在另一实例中,本发明描述一种存储指令的计算机可读存储媒体,所述指令在被执行时配置计算装置以至少部分地基于视频编码器是在全部帧内配置、随机存取配置还是低延迟配置中操作而确定量化偏移。此外,所述指令在被执行时配置所述计算装置以至少部分地基于所述量化偏移来确定用于系数的相应经量化等级。
附图和下面的描述中阐述本发明的一或多个实例的细节。通过描述、图式和权利要求书,将明白其它特征、目的和优点。
附图说明
图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 efficiencyvideo coding(HEVC)text specification draft 9)”(ITU-T SG16 WP3和ISO/IECJTC1/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-TH.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
#1级 量化偏移
Level 1/2
Level-1 1/3
0 1/6
举例来说,如果对系数块的位置(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 = 1 N Distortion ( C i ) + λ · ( Σ i = 1 N ( R i + R pos x + R pos y + R significance _ 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
Level save = N [ n · Δ , ( n + 1 2 ) · Δ ] N total
在上面的等式中,是属于从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 偏移1/3(帧内)和1/6(帧间) 偏移1/2(帧内)和1/6(帧间) RDOQ关闭
AI 1% 2.4% 1% 5.7%
RA 1.7% 3.6% 2.5% 5.3%
LB 2.7% 2.1% 1.7% 3.5%
LP 3% 1.9% 1.6% 3.4%
在一或多个实例中,所描述的功能可以在硬件、软件、固件或其任何组合中实施。如果在软件中实施,那么所述功能可以作为一或多个指令或代码在计算机可读媒体上存储或在其上传输,并且由基于硬件的处理单元来执行。计算机可读媒体可包含计算机可读存储媒体,其对应于例如数据存储媒体等有形的媒体,或者包含任何有助于例如根据通信协议将计算机程序从一处传递到另一处的任何媒体的通信媒体。以此方式,计算机可读媒体总体上可以对应于(1)非暂时性的有形的计算机可读存储媒体或(2)例如信号或载波等通信媒体。数据存储媒体可以是可以由一或多个计算机或一或多个处理器存取以检索指令、代码和/或数据结构以便实施本发明中描述的技术的任何可用媒体。计算机程序产品可以包含计算机可读媒体。
举例来说,并且并非限制,此些计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或可用于以指令或数据结构的形式存储期望的程序代码并且可以由计算机存取的任何其它媒体。此外,任何连接都可以恰当地称为计算机可读媒体。举例来说,如果是使用同轴电缆、光纤电缆、双绞线、数字用户线(DSL)或例如红外、无线电和微波等无线技术从网站、服务器或其它远程源传输指令,那么可以将同轴电缆、光纤电缆、双绞线、DSL或例如红外、无线电和微波等无线技术包含在媒体的定义中。然而,应理解,计算机可读存储媒体和数据存储媒体不包含连接、载波、信号或其它瞬时媒体,而是针对非瞬时的有形的存储媒体。本文中使用的磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘使用激光光学地复制数据。上述各项的组合也应包含在计算机可读媒体的范围内。
可以由一或多个处理器执行指令,例如一或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效的集成或离散逻辑电路。因此,本文中使用的术语“处理器”可以指代前述结构中的任一个或者任何其它适合于实施本文中描述的技术的结构。此外,在一些方面中,本文中描述的功能性可以在经配置用于编码和解码或者并入在组合编解码器的专用硬件和/或软件模块内提供。此外,所述技术可以完全在一或多个电路或逻辑元件中实施。
本发明的技术可以在多种多样的装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元以强调装置的经配置以执行所揭示的技术的功能性方面,但是未必需要由不同硬件单元来实现。实情为,如上所述,各种单元可以在编解码器硬件单元中组合,或者由互操作性硬件单元的集合来提供,包含如上所述的一或多个处理器结合合适的硬件和/或固件。
已经描述了各种实例。这些和其它实例属于所附权利要求书的范围内。

Claims (28)

1.一种对视频数据进行编码的方法,所述方法包括:
使用相应系数在系数块中的相应位置在查找表中查找用于所述相应系数的相应量化偏移;以及
至少部分地基于用于所述一或多个相应系数的所述相应量化偏移来确定用于所述相应系数的相应经量化等级。
2.根据权利要求1所述的方法,其中,对于所述系数块中的每一相应位置,所述查找表中用于所述相应位置的条目至少部分地是基于速率失真优化量化RDOQ算法选择Level、Level-1或0作为用于位于其它测试数据系数块内的所述相应位置处的系数的最优经量化值的频率,其中Level标示用于系数的初始经量化值。
3.根据权利要求1所述的方法,其中所述查找表将系数位置映射到下面三个可能的量化偏移值中的一个:1/2、1/3和1/6。
4.根据权利要求1所述的方法,其中确定所述相应经量化等级包含以反向对角线扫描次序确定用于所述相应系数的所述相应经量化等级。
5.根据权利要求1所述的方法,其进一步包括:
至少部分地基于与所述相应经量化等级相关联的成本确定最优的最后有效系数;以及
至少部分地基于所述最优的最后有效系数对所述系数块的有效性图进行熵编码。
6.根据权利要求5所述的方法,其中与所述经量化等级相关联的所述成本包含与选择所述一或多个系数中的每一个作为最后有效系数相关联的速率失真成本。
7.根据权利要求1所述的方法,其中确定所述相应经量化等级包括对于每一相应系数计算:
其中z是用于所述相应系数的所述经量化等级,W是所述相应系数的初始值,f是用于所述系数的所述量化偏移,Δ是量化步长,标示朝向负无穷大舍入到最近的整数,并且sign()是返回所述相应系数的所述初始值的正负号的函数。
8.根据权利要求1所述的方法,其进一步包括对残余样本块应用一或多个变换以便产生所述系数块。
9.根据权利要求1所述的方法,其进一步包括:
对用于在所述系数块内具有在最后有效系数在所述系数块内的位置之前的位置的所述经量化等级进行熵编码;以及
输出包含所述经熵编码的经量化等级的位流。
10.一种对视频数据进行编码的计算装置,所述计算装置包括经配置以进行以下操作的一或多个处理器:
使用相应系数在系数块中的相应位置在查找表中查找用于所述相应系数的相应量化偏移;以及
至少部分地基于用于所述一或多个相应系数的所述相应量化偏移来确定用于所述相应系数的相应经量化等级。
11.根据权利要求10所述的计算装置,其中,对于所述系数块中的每一相应位置,所述查找表中用于所述相应位置的条目至少部分地是基于速率失真优化量化RDOQ算法选择Level、Level-1或0作为用于位于其它测试数据系数块内的所述相应位置处的系数的最优经量化值的频率,其中Level标示用于系数的初始经量化值。
12.根据权利要求10所述的计算装置,其中所述查找表将系数位置映射到下面三个可能的量化偏移值中的一个:1/2、1/3和1/6。
13.根据权利要求10所述的计算装置,其中所述一或多个处理器经配置以用反向对角线扫描次序确定用于所述相应系数的所述经量化等级。
14.根据权利要求10所述的计算装置,其中所述一或多个处理器经配置以:
至少部分地基于与所述相应经量化等级相关联的成本确定最优的最后有效系数;以及
至少部分地基于所述最优的最后有效系数对所述系数块的有效性图进行熵编码。
15.根据权利要求14所述的计算装置,其中与所述相应经量化等级相关联的所述成本包含与选择所述相应系数中的每一个作为最后有效系数相关联的速率失真成本。
16.根据权利要求10所述的计算装置,其中一或多个处理器经配置以至少部分地通过对于每一相应系数计算下式来确定所述相应经量化等级,
其中z是用于所述相应系数的所述经量化等级,W是所述相应系数的初始值,f是用于所述系数的所述量化偏移,Δ是量化步长,标示朝向负无穷大舍入到最近的整数,并且sign()是返回所述相应系数的所述初始值的正负号的函数。
17.根据权利要求10所述的计算装置,其中所述一或多个处理器经配置以对残余样本块应用一或多个变换以便产生系数块。
18.根据权利要求10所述的计算装置,其中所述一或多个处理器进一步经配置以:
对用于在所述系数块内具有在最后有效系数在所述系数块内的位置之前的位置的所述经量化等级进行熵编码;以及
输出包含所述经熵编码的经量化等级的位流。
19.一种对视频数据进行编码的计算装置,所述计算装置包括:
用于使用相应系数在系数块中的相应位置在查找表中查找用于所述相应系数的相应量化偏移的装置;以及
用于至少部分地基于用于所述一或多个相应系数的所述相应量化偏移来确定用于所述相应系数的相应经量化等级的装置。
20.根据权利要求19所述的计算装置,其中,对于所述系数块中的每一相应位置,所述查找表中用于所述相应位置的条目至少部分地是基于速率失真优化量化RDOQ算法选择Level、Level-1或0作为用于位于其它测试数据系数块内的所述相应位置处的系数的最优经量化值的频率,其中Level标示用于系数的初始经量化值。
21.一种存储指令的计算机可读存储媒体,所述指令当由计算装置的一或多个处理器执行时配置所述计算装置以进行以下操作:
使用相应系数在系数块中的相应位置在查找表中查找用于所述相应系数的相应量化偏移;以及
至少部分地基于用于所述一或多个相应系数的所述相应量化偏移来确定用于所述相应系数的相应经量化等级。
22.根据权利要求21所述的计算机可读存储媒体,其中,对于所述系数块中的每一相应位置,所述查找表中用于所述相应位置的条目至少部分地是基于速率失真优化量化RDOQ算法选择Level、Level-1或0作为用于位于其它测试数据系数块内的所述相应位置处的系数的最优经量化值的频率,其中Level标示用于系数的初始经量化值。
23.一种方法,其包括:
至少部分地基于视频编码器是在全部帧内配置、随机存取配置还是低延迟配置中操作来确定量化偏移;以及
至少部分地基于所述量化偏移来确定用于所述系数的相应经量化等级。
24.根据权利要求23所述的方法,其中:
当所述视频编码器在所述全部帧内配置或所述随机存取配置中操作时,所述量化偏移等于1/2,
当所述视频编码器在所述低延迟配置中操作并且所述系数与帧内切片相关联时,所述量化偏移等于1/2,并且
当所述视频编码器在所述低延迟配置中操作并且所述系数与帧间切片相关联时,所述量化偏移等于1/6。
25.一种包括经配置以进行以下操作的一或多个处理器的计算装置:
至少部分地基于视频编码器是在全部帧内配置、随机存取配置还是低延迟配置中操作来确定量化偏移;以及
至少部分地基于所述量化偏移来确定用于所述系数的相应经量化等级。
26.根据权利要求25所述的计算装置,其中:
当所述视频编码器在所述全部帧内配置或所述随机存取配置中操作时,所述量化偏移等于1/2,
当所述视频编码器在所述低延迟配置中操作并且所述系数与帧内切片相关联时,所述量化偏移等于1/2,并且
当所述视频编码器在所述低延迟配置中操作并且所述系数与帧间切片相关联时,所述量化偏移等于1/6。
27.一种计算装置,其包括:
用于至少部分地基于视频编码器是在全部帧内配置、随机存取配置还是低延迟配置中操作来确定量化偏移的装置;以及
用于至少部分地基于所述量化偏移来确定用于所述系数的相应经量化等级的装置。
28.一种存储指令的计算机可读存储媒体,所述指令在被执行时配置计算装置以进行以下操作:
至少部分地基于视频编码器是在全部帧内配置、随机存取配置还是低延迟配置中操作来确定量化偏移;以及
至少部分地基于所述量化偏移来确定用于所述系数的相应经量化等级。
CN201380019799.2A 2012-04-13 2013-03-14 一种视频译码方法、装置和计算机可读存储媒体 Expired - Fee Related CN104221377B (zh)

Applications Claiming Priority (9)

Application Number Priority Date Filing Date Title
US201261624116P 2012-04-13 2012-04-13
US201261623948P 2012-04-13 2012-04-13
US201261623929P 2012-04-13 2012-04-13
US61/623,948 2012-04-13
US61/624,116 2012-04-13
US61/623,929 2012-04-13
US13/800,268 US10085024B2 (en) 2012-04-13 2013-03-13 Lookup table for rate distortion optimized quantization
US13/800,268 2013-03-13
PCT/US2013/031609 WO2013154748A1 (en) 2012-04-13 2013-03-14 Lookup table for rate distortion optimized quantization

Publications (2)

Publication Number Publication Date
CN104221377A true CN104221377A (zh) 2014-12-17
CN104221377B CN104221377B (zh) 2017-10-31

Family

ID=49325054

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201380019185.4A Expired - Fee Related CN104221375B (zh) 2012-04-13 2013-03-14 速率失真优化量化中的等级决定
CN201380019799.2A Expired - Fee Related CN104221377B (zh) 2012-04-13 2013-03-14 一种视频译码方法、装置和计算机可读存储媒体

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201380019185.4A Expired - Fee Related CN104221375B (zh) 2012-04-13 2013-03-14 速率失真优化量化中的等级决定

Country Status (6)

Country Link
US (2) US10085024B2 (zh)
EP (1) EP2839640B1 (zh)
JP (1) JP6144333B2 (zh)
CN (2) CN104221375B (zh)
IN (1) IN2014MN01846A (zh)
WO (2) WO2013154747A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107258080A (zh) * 2015-03-06 2017-10-17 高通股份有限公司 快速速率失真优化量化
CN107426570A (zh) * 2016-10-28 2017-12-01 福州大学 一种低延迟视频编码的自适应Qp级联方法
CN107426572A (zh) * 2016-12-30 2017-12-01 杭州当虹科技有限公司 一种高效快速的视频编码算法
CN108322749A (zh) * 2018-03-15 2018-07-24 北京数码视讯科技股份有限公司 Rdoq的系数优化方法、rdoq的加速方法及装置
CN111614956A (zh) * 2017-01-19 2020-09-01 谷歌有限责任公司 Dc系数符号代码化方案
CN113010142A (zh) * 2021-03-23 2021-06-22 广州万协通信息技术有限公司 一种新型脉动结点式标量点乘的双域实现系统及方法

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10085024B2 (en) 2012-04-13 2018-09-25 Qualcomm Incorporated Lookup table for rate distortion optimized quantization
CN105409215B (zh) 2013-01-11 2018-10-09 华为技术有限公司 深度预测模式选择方法及装置
US9955163B2 (en) * 2013-06-17 2018-04-24 Google Llc Two pass quantization of video data
EP3114835B1 (en) 2014-03-04 2020-04-22 Microsoft Technology Licensing, LLC Encoding strategies for adaptive switching of color spaces
SG11201607282YA (en) 2014-03-04 2016-09-29 Microsoft Technology Licensing Llc Adaptive switching of color spaces, color sampling rates and/or bit depths
EP3122049A4 (en) * 2014-03-19 2017-11-08 Nec Corporation Image encoding apparatus, image encoding method, and image encoding program
AU2014388185B2 (en) 2014-03-27 2018-08-02 Microsoft Technology Licensing, Llc Adjusting quantization/scaling and inverse quantization/scaling when switching color spaces
JP6308449B2 (ja) * 2014-06-26 2018-04-11 ホアウェイ・テクノロジーズ・カンパニー・リミテッド 高効率ビデオ符号化における演算負荷を低減するための方法および装置
CN105960802B (zh) 2014-10-08 2018-02-06 微软技术许可有限责任公司 切换色彩空间时对编码和解码的调整
US10136133B2 (en) * 2014-11-11 2018-11-20 Dolby Laboratories Licensing Corporation Rate control adaptation for high-dynamic range images
JP6497100B2 (ja) * 2015-02-09 2019-04-10 沖電気工業株式会社 映像符号化装置、方法及びプログラム
KR102251828B1 (ko) * 2015-09-02 2021-05-13 삼성전자주식회사 율―왜곡 최적화 기반의 양자화 방법 및 그 장치
KR102390162B1 (ko) 2015-10-16 2022-04-22 삼성전자주식회사 데이터 인코딩 장치 및 데이터 인코딩 방법
US10735736B2 (en) * 2017-08-29 2020-08-04 Google Llc Selective mixing for entropy coding in video compression
JP7067240B2 (ja) * 2018-04-24 2022-05-16 富士通株式会社 最適化計算方法、最適化計算プログラム及び最適化計算装置
FR3081656A1 (fr) 2018-06-27 2019-11-29 Orange Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'au moins une image.
US11936859B2 (en) * 2018-07-02 2024-03-19 Telefonaktiebolaget Lm Ericsson (Publ) Bilateral high frequency boost
EP3657799B1 (en) * 2018-11-22 2020-11-04 Axis AB Method for intra refresh encoding of a plurality of image frames
JP7137074B2 (ja) * 2018-12-26 2022-09-14 富士通株式会社 最適化計算方法、最適化計算装置及び最適化計算プログラム
CN110365975A (zh) * 2019-06-21 2019-10-22 武汉玉航科技有限公司 一种avs2视频编解码标准优化方案
US11368693B2 (en) 2019-07-01 2022-06-21 Sony Group Corporation Forward and inverse quantization for point cloud compression using look-up tables
CA3149873A1 (en) * 2019-09-06 2021-03-11 Takeshi Tsukuba Image processing device and method
WO2021143749A1 (en) * 2020-01-14 2021-07-22 Beijing Bytedance Network Technology Co., Ltd. Signaling of quantization parameters in video coding
CN111770330B (zh) * 2020-06-10 2022-11-04 北京达佳互联信息技术有限公司 图像压缩方法、装置以及电子设备
FR3112661B1 (fr) * 2020-07-17 2024-02-02 Fond B Com Procédés de décodage d’un flux de données, dispositifs et flux de données associés
US11425393B1 (en) 2021-06-10 2022-08-23 Meta Platforms, Inc. Hardware optimization of rate calculation in rate distortion optimization for video encoding
US11606568B1 (en) 2021-08-18 2023-03-14 Meta Platforms, Inc. End-of-block detection of quantized transform coefficient matrices in video encoding
CN114786010B (zh) * 2022-03-07 2024-08-02 杭州未名信科科技有限公司 率失真优化量化方法、装置、存储介质及电子设备
CN115022636A (zh) * 2022-06-01 2022-09-06 上海哔哩哔哩科技有限公司 率失真优化量化方法及装置
CN115902611B (zh) * 2022-11-24 2024-03-19 国网四川省电力公司映秀湾水力发电总厂 一种继电器校验方法、装置及校验仪

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2007005750A2 (en) * 2005-07-01 2007-01-11 Sonic Solutions Method, apparatus and system for use in multimedia signal encoding
CN1973547A (zh) * 2004-06-18 2007-05-30 汤姆逊许可公司 用于视频编解码器量化的方法和设备
US20070140334A1 (en) * 2005-12-20 2007-06-21 Shijun Sun Method and apparatus for dynamically adjusting quantization offset values

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5926222A (en) 1995-09-28 1999-07-20 Intel Corporation Bitrate estimator for selecting quantization levels for image encoding
US8130828B2 (en) 2006-04-07 2012-03-06 Microsoft Corporation Adjusting quantization to preserve non-zero AC coefficients
US8155195B2 (en) 2006-04-07 2012-04-10 Microsoft Corporation Switching distortion metrics during motion estimation
US8582663B2 (en) * 2006-08-08 2013-11-12 Core Wireless Licensing S.A.R.L. Method, device, and system for multiplexing of video streams
US8233545B2 (en) 2006-08-21 2012-07-31 Texas Instruments Incorporated Run length encoding in VLIW architecture
EP2157798A1 (en) 2008-08-18 2010-02-24 Thomson Licensing Method for encoding an image, method for decoding an image, encoder, decoder and signal or storage medium carrying an encoded image
JP2011029954A (ja) * 2009-07-27 2011-02-10 Sony Corp 画像符号化装置と画像符号化方法
US20110255589A1 (en) * 2009-08-03 2011-10-20 Droplet Technology, Inc. Methods of compressing data and methods of assessing the same
US8160136B2 (en) 2009-08-07 2012-04-17 Texas Instruments Incorporated Probabilistic bit-rate and rate-distortion cost estimation for video coding
US8254443B2 (en) 2009-08-28 2012-08-28 Ericsson Television, Inc. Latency rate distortion optimisation
ES2681209T3 (es) 2009-09-10 2018-09-12 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Técnicas de aceleración para una cuantificación optimizada de tasa de distorsión
US8675726B2 (en) 2010-02-18 2014-03-18 Blackberry Limited Method and encoder for constrained soft-decision quantization in data compression
US9313526B2 (en) 2010-02-19 2016-04-12 Skype Data compression for video
JP5423469B2 (ja) 2010-02-23 2014-02-19 沖電気工業株式会社 量子化装置、プログラム及び方法、並びに、動画像符号化装置
US9641846B2 (en) 2010-10-22 2017-05-02 Qualcomm Incorporated Adaptive scanning of transform coefficients for video coding
US8995523B2 (en) * 2011-06-03 2015-03-31 Qualcomm Incorporated Memory efficient context modeling
US20130188013A1 (en) 2011-07-22 2013-07-25 Qualcomm Incorporated Mvc based 3dvc codec supporting inside view motion prediction (ivmp) mode
US20130169760A1 (en) * 2012-01-04 2013-07-04 Lloyd Watts Image Enhancement Methods And Systems
US10085024B2 (en) 2012-04-13 2018-09-25 Qualcomm Incorporated Lookup table for rate distortion optimized quantization
US9948939B2 (en) 2012-12-07 2018-04-17 Qualcomm Incorporated Advanced residual prediction in scalable and multi-view video coding

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1973547A (zh) * 2004-06-18 2007-05-30 汤姆逊许可公司 用于视频编解码器量化的方法和设备
WO2007005750A2 (en) * 2005-07-01 2007-01-11 Sonic Solutions Method, apparatus and system for use in multimedia signal encoding
US20070140334A1 (en) * 2005-12-20 2007-06-21 Shijun Sun Method and apparatus for dynamically adjusting quantization offset values

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
LIU, Y.: "Quantization Techniques in JM/KTA", 《HTTP://WWW.H265.NET/2009/06/QUANTIZATION-TECHNIQUES-IN-JMKTA-PART-1.HTML》 *
MARTA KARCZEWICZ ET AL.: "Modifications to CAVLC RDOQ", 《JCT-VC OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-F296》 *
VADIM SEREGIN ET AL.: "LCEC RDOQ speedup", 《JCT-VC OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-D416》 *
XIANG YU ET AL.: "Improved quantization for HEVC", 《JCT-VC OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11, JCTVC-B035》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107258080A (zh) * 2015-03-06 2017-10-17 高通股份有限公司 快速速率失真优化量化
CN107426570A (zh) * 2016-10-28 2017-12-01 福州大学 一种低延迟视频编码的自适应Qp级联方法
CN107426570B (zh) * 2016-10-28 2020-11-03 福州大学 一种低延迟视频编码的自适应Qp级联方法
CN107426572A (zh) * 2016-12-30 2017-12-01 杭州当虹科技有限公司 一种高效快速的视频编码算法
CN111614956A (zh) * 2017-01-19 2020-09-01 谷歌有限责任公司 Dc系数符号代码化方案
CN108322749A (zh) * 2018-03-15 2018-07-24 北京数码视讯科技股份有限公司 Rdoq的系数优化方法、rdoq的加速方法及装置
CN113010142A (zh) * 2021-03-23 2021-06-22 广州万协通信息技术有限公司 一种新型脉动结点式标量点乘的双域实现系统及方法
CN113010142B (zh) * 2021-03-23 2023-07-28 广州万协通信息技术有限公司 一种新型脉动结点式标量点乘的双域实现系统及方法

Also Published As

Publication number Publication date
US20130272386A1 (en) 2013-10-17
JP6144333B2 (ja) 2017-06-07
EP2839640A1 (en) 2015-02-25
WO2013154748A1 (en) 2013-10-17
JP2015516761A (ja) 2015-06-11
IN2014MN01846A (zh) 2015-07-03
US9270986B2 (en) 2016-02-23
EP2839640B1 (en) 2016-08-03
CN104221375B (zh) 2017-12-08
CN104221377B (zh) 2017-10-31
US10085024B2 (en) 2018-09-25
WO2013154747A1 (en) 2013-10-17
US20130272385A1 (en) 2013-10-17
CN104221375A (zh) 2014-12-17

Similar Documents

Publication Publication Date Title
CN104221377A (zh) 用于速率失真优化量化的查找表
RU2562379C2 (ru) Иерархия видеоблоков с предсказанием движения
CN103299621B (zh) 用于视频译码中的一般化p/b帧的参考图片列表构造
CN104335586A (zh) 运动向量舍入
CN103797799A (zh) 用于视频译码的运动向量确定
CN105474641A (zh) 视频译码过程中用于系数层级译码的莱斯(rice)参数初始化
CN103988505A (zh) 在视频数据的波前并行处理中的受约束参考图片集合
CN103609121A (zh) 统一合并模式和自适应运动向量预测模式候选者选择
CN103748875A (zh) 用于应用基于分区的滤波器的视频译码的方法和装置和存储媒体
CN103999367A (zh) 用于上下文自适应二进制算术译码的上下文数目缩减
CN104025457A (zh) 用于最后有效系数位置译码的上下文最优化
CN103703776A (zh) 在视频译码中的系数扫描
CN103843347A (zh) 用于视频译码的运动向量预测值候选剪裁移除
CN103339935A (zh) 运动向量预测
CN104620576A (zh) 可缩放视频译码中的替代变换
CN103931182A (zh) 帧内预测视频译码中的非正方形变换
CN104054341A (zh) 用于上下文自适应性二进制算术译码系数层级译码的通过量改进
CN105165012A (zh) 视频译码中的预测残余块的再定位
CN103621095A (zh) 用于视频译码中的帧内预测的边界像素填补
CN104081777A (zh) 用于视频译码的残余四叉树(rqt)译码
CN103609118A (zh) 用于视频译码的并行化友好合并候选者
CN103999465A (zh) 自适应性重叠块运动补偿
CN104160704A (zh) B切片中的预测单元限于单向帧间预测
CN104471946A (zh) 视频译码中用信号发送无损译码模式和脉码调制(pcm)模式的统一
CN104205832A (zh) 用于视频译码的变换系数译码中的群组旗标

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171031

Termination date: 20190314

CF01 Termination of patent right due to non-payment of annual fee