CN103621082B - 视频译码中的量化 - Google Patents

视频译码中的量化 Download PDF

Info

Publication number
CN103621082B
CN103621082B CN201280031325.5A CN201280031325A CN103621082B CN 103621082 B CN103621082 B CN 103621082B CN 201280031325 A CN201280031325 A CN 201280031325A CN 103621082 B CN103621082 B CN 103621082B
Authority
CN
China
Prior art keywords
quantization
granularities
video
block
quantization granularities
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.)
Expired - Fee Related
Application number
CN201280031325.5A
Other languages
English (en)
Other versions
CN103621082A (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 CN103621082A publication Critical patent/CN103621082A/zh
Application granted granted Critical
Publication of CN103621082B publication Critical patent/CN103621082B/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/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • 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
    • 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/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/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/174Methods 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 slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/46Embedding additional information in the video signal during the compression process
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/61Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明的方面涉及用于提供对用于视频译码的量化量的更大控制的方法。第一实例包含:确定用于对残余视频数据进行译码的量化参数QP,其中所述QP被索引到量化器步长;确定用于对所述量化器步长进行按比例缩放的量化按比例缩放值;以及使用所述按比例缩放的量化器步长对所述残余视频数据进行译码。第二实例包含在至少两个QP粒度之间进行选择。

Description

视频译码中的量化
本申请案主张2011年6月25日申请的第61/501,213号美国临时专利申请案、2011年6月29日申请的第61/502,751号美国临时专利申请案、2011年10月12日申请的第61/546,450号美国临时专利申请案和2011年10月13日申请的第61/546,723号美国临时专利申请案的优先权,上述申请案中的每一者的全部内容以全文引用的方式并入本文中。
技术领域
本发明涉及视频译码技术,并且更确切地说涉及视频译码中的量化。
背景技术
数字视频能力可并入到广泛范围的装置中,包含数字电视、数字直播系统、无线广播系统、个人数字助理(PDA)、膝上型或桌上型计算机、数码相机、数字记录装置、数字媒体播放器、视频游戏装置、视频游戏控制台、蜂窝式或卫星无线电电话、视频电话会议装置和类似装置。
数字视频装置可以实施视频压缩技术(例如,由MPEG-2、MPEG-4、ITU-T H.263或ITU-T H.264/MPEG-4第10部分高级视频译码(AVC)所定义的标准和这些标准的扩展中所描述的视频压缩技术),以较有效地发射和接收数字视频信息。人们正在研发新视频译码标准,例如,由“视频译码联合开发团队”(JCT-VC)开发的高效率视频译码(HEVC)标准,其为MPEG与ITU-T之间的合作成果。新出现的HEVC标准有时被称作H.265,但此名称尚未正式确定。
发明内容
本发明的技术总体上涉及视频译码和视频译码中的量化。举例来说,可以在视频译码期间根据量化参数(QP)执行变换系数的量化(或逆量化)。在一些实例中,可以将QP索引到在量化期间应用的量化步长(例如,在给定QP的情况下,较高步长产生较大量化)。本发明的某些技术涉及对与一个QP相关联的量化器步长应用比例因子。应用此比例因子可以提供对于在视频译码期间应用于变换系数的量化量的更大控制。此外,本发明的方面涉及提供可用于对量化器步长进行按比例缩放的比例因子的指示(例如,经编码位流中的一个或一个以上语法元素),以及对此指示进行解码。
本发明的其它技术总体上涉及控制视频译码器可以应用量化参数的粒度。本发明总体上用“量化粒度”表示预定义的量化量可以细分或分解为较小部分的程度。举例来说,视频译码器可以使用被索引到从最小量化量到最大量化量的量化器步长范围的某个范围的QP对变换系数进行量化。所以,QP(和其相关联的量化器步长)限定可以应用于变换系数的量化总量的界限。在这个实例中,量化粒度可以指代全部量化被细分和用QP值索引的程度,QP接着可以在量化期间应用于变换系数。
本发明的一些方面涉及自适应地改变图片或切片内的量化粒度。举例来说,本发明的方面涉及选择用于对变换系数块进行量化的量化粒度和与所述选定量化粒度相关联的信令(例如,产生位流的语法元素)。在一实例中,视频编码器可以在经编码位流中在切片等级和/或块等级上用信号表示量化粒度指示,并且视频解码器可以对其进行解码。
在一实例中,本发明的方面涉及一种对视频数据进行译码的方法,其包含:确定用于对残余视频数据进行译码的量化参数(QP),其中所述QP被索引到量化器步长;确定用于对所述量化器步长进行按比例缩放的量化按比例缩放值;对所述量化器步长应用所述量化按比例缩放值的按比例缩放;以及使用所述按比例缩放的量化器步长对所述残余视频数据进行译码。
在另一实例中,本发明的方面涉及一种对视频数据进行译码的设备,其包含一个或一个以上经配置以执行以下操作的处理器:确定用于对残余视频数据进行译码的量化参数(QP),其中所述QP被索引到量化器步长;确定用于对所述量化器步长进行按比例缩放的量化按比例缩放值;对所述量化器步长应用所述量化按比例缩放值的按比例缩放;以及使用所述按比例缩放的量化器步长对所述残余视频数据进行译码。
在另一实例中,本发明的方面涉及一种对视频数据进行译码的设备,其包含:用于确定用于对残余视频数据进行译码的量化参数(QP)的装置,其中所述QP被索引到量化器步长;用于确定用于对所述量化器步长进行按比例缩放的量化按比例缩放值的装置;用于对所述量化器步长应用所述量化按比例缩放值的按比例缩放的装置;以及用于使用所述按比例缩放的量化器步长对所述残余视频数据进行译码的装置。
在另一实例中,本发明的方面涉及一种上面存储有指令的非暂时计算机可读存储媒体,所述指令在被执行时致使一个或一个以上处理器执行以下操作:确定用于对残余视频数据进行译码的量化参数(QP),其中所述QP被索引到量化器步长;确定用于对所述量化器步长进行按比例缩放的量化按比例缩放值;对所述量化器步长应用所述量化按比例缩放值的按比例缩放;以及使用所述按比例缩放的量化器步长对所述残余视频数据进行译码。
在另一实例中,本发明的方面涉及一种对视频数据进行译码的方法,其包含:在至少第一量化粒度与第二不同量化粒度之间进行选择,其中量化粒度包括预定量化量被细分的程度;以及使用所述选定量化粒度对与残余视频数据相关联的一个或一个以上变换系数进行译码。
在另一实例中,本发明的方面涉及一种对视频数据进行译码的设备,其包含一个或一个以上经配置以执行以下操作的处理器:在至少第一量化粒度与第二不同量化粒度之间进行选择,其中量化粒度包括预定量化量被细分的程度;以及使用所述选定量化粒度对与残余视频数据相关联的一个或一个以上变换系数进行译码。
在另一实例中,本发明的方面涉及一种对视频数据进行译码的设备,其包含:用于在至少第一量化粒度与第二不同量化粒度之间进行选择的装置,其中量化粒度包括预定量化量被细分的程度;以及用于使用所述选定量化粒度对与残余视频数据相关联的一个或一个以上变换系数进行译码的装置。
在另一实例中,本发明的方面涉及一种上面存储有指令的非暂时计算机可读存储媒体,所述指令在被执行时致使一个或一个以上处理器执行以下操作:在至少第一量化粒度与第二不同量化粒度之间进行选择,其中量化粒度包括预定量化量被细分的程度;以及使用所述选定量化粒度对与残余视频数据相关联的一个或一个以上变换系数进行译码。
在附图和以下描述中陈述本发明的一个或一个以上方面的细节。通过描述和图式并通过权利要求书,将明白本发明中所描述的技术的其它特征、目的和优点。
附图说明
图1是图解说明可利用本发明的技术的实例视频编码和解码系统的框图。
图2是图解说明可实施本发明的任何或所有技术的视频编码器的实例的框图。
图3是图解说明对经编码视频序列进行解码的视频解码器的实例的框图。
图4A和4B是图解说明实例四叉树和对应最大译码单元(LCU)的概念图。
图5是图解说明用于对视频数据进行量化的实例技术的流程图。
图6是图解说明用于对视频数据进行量化的另一实例技术的流程图。
具体实施方式
总的来说,经编码视频数据可包含预测数据和残余数据。举例来说,视频编码器可在帧内预测模式或帧间预测模式期间产生预测数据。帧内预测总体上包括相对于一个图片的相邻经先前译码块中的参考样本预测同一图片的一个块中的像素值。帧间预测总体上包括相对于经先前译码图片的数据预测一个图片的一个块中的像素值。
遵照帧内预测或帧间预测,视频编码器可以计算所述块的残余像素值。所述残余值总体上对应于所述块的所预测的像素值数据与所述块的真实像素值数据之间的差。举例来说,所述残余值可包含指示经译码像素与预测性像素之间的差的像素差值。所述经译码像素可以与待译码像素的一个块相关联,并且所述预测性像素可以与用于预测经译码块的像素的一个或一个以上块相关联。
为了进一步压缩一个块的残余值,视频编码器可以将残余值变换成一组变换系数,这些变换系数将尽可能多的数据(也称为“能量”)压紧成尽可能少的系数。所述变换将像素的残余值从空间域转化成变换域中的变换系数。所述变换系数对应于一般与原始块相同大小的系数的二维矩阵。换句话说,通常仅存在与原始块中的像素一样多的变换系数。但是,归因于所述变换,许多变换系数可以具有等于零的值。
视频编码器于是可以对变换系数进行量化以进一步压缩视频数据。量化总体上包括相对大范围内的值向相对小范围内的值的映射,因而减少了表示经量化变换系数所需的数据的量。视频编码器可以通过根据预定义算法应用量化参数(QP)对变换系数进行量化。视频编码器可以通过调整QP来修改应用于变换系数值的量化程度。在一些实例中,视频编码器可以选择在0-51范围内的QP。在其它实例中,视频编码器可以选择在-26到+25范围(或其它某个范围)内的QP。虽然本文中总体上将较高QP描述为增加所应用的量化量,但是如下文较详细描述,应理解,在其它实例中,较高QP可能与应用减少量的量化相关。
根据一些实例,可以将预定组的QP索引到量化器步长。也就是说,可以将QP的范围索引到从最小量化量到最大量化量的量化器步长范围。举例来说,常规上,值的量化可以基于均一重建量化器(URQ)。用于对数据进行量化的分类规则可以由编码器定义,并且类似地由视频解码器应用。量化的一个实例是所谓的死区加均一阈值量化(DZ-UTQ)方法。在这个实例中,如下方的等式(1)中所示,此死区量化器可以实施死区参数f0,其中0≤f0≤0.5:
其中Yij是变换系数(上文所描述的),Qstep是量化器步长,并且Zij对应于量化等级或量化系数值,sgn(N)是提取实数N的正负号的正负号函数,并且是传回小于或等于M的最大整数的“地板”函数。概念上,可以通过用Zij乘以对应量化器步长Qstep而导出对应于等级Zij的重建值或解量化系数值rij。也就是说,rij=Zij*Qstep。上文所描述的量化和重建过程表示在某些视频译码标准(例如,HEVC或AVC/H.264)中指明的数学简化版本,因为为了简单和清晰起见忽略了对应基函数的标准化。
根据某些视频译码标准,例如H.264和所提议的HEVC标准,可以根据量化参数(QP)支持和索引总共52个值的Qstep。虽然标准可能未规范地指明编码器处使用的确切的量化器步长,但是当QP增加一时,量化器步长通常增加因子21/6。换句话说,一的QP增量可以对应于Qstep的大约12.5%的增加。所以,QP每增加六,应用于变换系数的量化量就会翻倍。
本发明总体上用“量化粒度”表示预定义的量化量可以细分或分解为较小部分的程度。在一些实例中,量化粒度可以表示为使所应用的量化量翻倍(或减半)所需要的QP的数目。也就是说,QP每增加六所应用的量化量就会翻倍的实例可被称为具有量化粒度六。在另一实例中,当QP增加一时,量化器步长可以增加因子21/12。在这个实例中,QP每增加12,应用于变换系数的量化量就会翻倍,并且可被称为量化粒度12。
为了减少视频编码器必须在位流中用信号表示的数据量,视频编码器可以为给定块预测一个QP。举例来说,并非包含QP自身,视频编码器可以识别用于当前块的实际QP与某个参考QP(例如,与不同块相关联的QP或几个相邻块的平均QP)之间的变化(即,Δ)。视频编码器可以接着用信号表示用于位流中的当前块的ΔQP。
在一些实例中,视频编码器可以将QP从图片(或切片)内的一个块变化成另一块。在块之间变化QP(有时被称作自适应量化)的目的是改进视觉质量。也就是说,人眼总体上对于视觉“平淡”区域(例如,不具有许多亮度或颜色变化的切片或图片区域)内的降级比对于视觉“繁忙”区域内的降级更灵敏。所以,自适应量化尝试通过对平淡区域执行较精细的量化并且对繁忙区域执行粗糙的量化而利用这些视觉局限性。
提供量化器步长范围可以允许视频译码器控制位速率与质量之间的折中(例如,其可被称为速率失真)。举例来说,增加QP可以降低经译码视频数据的位速率。但是,经编码视频数据的总质量还可能归因于量化引入的错误增加而受到不良影响。另一方面,减小量化参数可以提高经译码数据的位速率,但是也可提高总质量。
在一些实例中,可以通过增加QP的数目来增加量化粒度。举例来说,视频译码器可以将QP的数目从52增加到104以便提高量化粒度,由此提供对于应用于变换系数的量化量的更大控制。但是,增加QP的数目也会增加与指示QP相关联的信令开销。举例来说,可能需要额外位以用信号表示相对更大数目的QP。此外,可能并不是图片的所有区域都需要与较精细的量化粒度相关联的更大控制。也就是说,图片的视觉上重要的部分可能受益于更大的量化粒度(例如,如下文所描述,在速率失真方面),而图片的其它部分可能不需要相对高的量化粒度。
本发明的某些技术涉及对与QP相关联的量化器步长应用比例因子。应用此比例因子可以提供对于在视频译码期间应用于变换系数的量化量的更大控制。举例来说,一些译码标准可以提供52个QP值,这些QP值被索引到量化器步长。在QP为0时,应用最小量化。在QP为51时,应用最大量化。此外,通常用整数递增来调整QP(例如,递增一或一以上),并且QP每递增六,量化就会翻倍。本发明的方面涉及按比例缩放量化器步长以提供比52标准增量更大的控制。
在一实例中,视频编码器可以选择用于对给定变换系数块进行量化的QP。视频编码器可以接着识别被索引到QP的量化器步长。在应用量化器步长之前,视频编码器可以对量化器步长应用量化按比例缩放值。量化按比例缩放值可以将量化器步长增加(或减小)成比索引到下一个QP的下一个量化器步长小。以此方式,视频编码器对于应用于变换系数块的量化量具有更大控制(例如,相对于选择全部整数QP)。在例如变换跳过模式等某些视频译码模式中,可能不存在变换,并且可以直接对预测残余应用量化。
在一些实例中,视频编码器可包含切片等级或块等级(例如,如HEVC中定义并且如下所述的最大译码单元(LCU)等级)的量化按比例缩放值的指示。在切片等级下,可以分别基于块类型来指示量化按比例缩放值。举例来说,可以在用于不同块类型(例如,帧内预测块、帧间预测块、明度块、色度块或类似块)的切片标头内指示量化按比例缩放值的不同值。在这个实例中,当在切片标头内用信号表示量化按比例缩放值时,可以通过切片中的每个块的量化按比例缩放值来调整量化器步长。在其它实例中,可以在LCU等级上用信号表示量化按比例缩放值,从而使得仅对LCU内部的块应用量化按比例缩放值。此外,在一些实例中,可以设置旗标(例如,在切片等级和/或LCU等级上)以指示已经应用了量化按比例缩放值。
本发明的技术可以帮助实现期望的位速率和/或速率失真等级。在出于说明目的的实例中,假设在译码期间应用第一QP,从而使得接近但不超过目标位速率。但是,使第一QP减小完整整数(由此减小应用于一个或一个以上变换系数的量化量)可以使位速率提高到目标位速率以上。在这个实例中,视频译码器可以对索引到第一QP的量化器步长应用量化比例因子以便实现目标位速率。
本发明的其它方面涉及控制视频译码器可以应用量化参数的粒度。同样,“量化粒度”可以指代预定义的量化量可以被细分的程度。本发明的方面涉及改变(例如,增加或减小)预定全部量化被细分的量。
举例来说,如上文所述,一些视频译码标准使用52个QP用量化粒度6来细分全部量化。在根据本发明的方面的实例中,可以修改QP与量化器步长之间的关系,从而使得当QP增加12时量化器步长翻倍。也就是说,每当QP增加一时,量化器步长将增加大约21/12的因子,这可被称为量化粒度12。虽然出于说明目的相对于量化粒度6和12描述本发明的某些实例,但是应理解,所述技术更一般地适用于控制任何量化粒度。
增加量化粒度可以为视频译码器提供额外的速率控制(例如,控制上文所论述的速率失真),且/或可以允许视频译码器当执行感知位分配(例如,给图片的感知上复杂的区域分配更大数目的位)时进行较精细的控制。但是,可能并不是切片或图片的所有区域都需要较精细的量化粒度。
所以,本发明的一些方面涉及自适应地改变图片或切片内的量化粒度。在一实例中,视频编码器可以在切片等级或块等级上用信号表示量化粒度(其可被称为“QP粒度”)。举例来说,切片标头可以含有指明用于所述切片的QP粒度的语法元素,而一个或一个以上块中包含的语法元素可以指明用于所述一个或一个以上块的QP粒度。
在视频编码器在切片标头中用信号表示QP粒度的实例中,还可包含另一旗标,其指示QP粒度是否在所述切片内自适应。举例来说,视频编码器可以指示QP粒度是否从切片内的一个块到另一个块变化。如果使用自适应粒度,则另一语法元素可以指示用于所述切片的最大可允许的粒度。
在启用切片内的自适应粒度的实例中,视频译码器可以如下文更详细描述,在LCU等级上经由语法元素来指示QP粒度。举例来说,语法元素可以识别用于LCU的QP粒度,类似于上文相对于切片标头描述的指示。LCU语法元素的指示可以使用由相邻语法元素(用因果次序)的值组成的上下文(例如,用于熵译码)。在其它实例中,可以用比LCU小或大的粒度用信号表示QP粒度。比LCU小的粒度可以提供对于位速率和主观质量的精细控制,但是可能在提供所述信令所需的位(其可被称为辅助信息)方面要花费相对多。但是,大于LCU的粒度可能不会在空间上提供充分的控制。
如上文所述,可以使用ΔQP来指示QP。举例来说,为了减少视频编码器必须在位流中用信号表示的数据量,视频编码器可以为给定块预测一个QP。所以,并非包含用于对块或切片的变换系数进行量化的实际QP,视频编码器可以识别用于当前块的实际QP与某个参考QP(例如,与不同块相关联的QP,或在多个相邻块之间平均的QP)之间的变化(即,Δ)。视频编码器可以接着在位流中用信号表示用于当前块的ΔQP。
当产生ΔQP时,视频编码器可以识别与空间上同当前块相邻的块(例如,相同切片或图片中的相邻块)相关联的参考QP。举例来说,H.264兼容编码器可以在宏块等级上用信号表示ΔQP,使用前一宏块的QP作为用于当前宏块的参考QP。其它可能性包含顶部和左侧相邻者或时间上共同定位的块或其它基于运动向量的块。
在QP粒度是自适应的实例中,用于QP预测的块可以具有块目前正被译码的不同QP粒度。在此些实例中,根据本发明的方面,视频译码器可以将每一QP从第一粒度映射到第二不同QP粒度的QP。举例来说,在给定切片中可能存在具有12和6的QP粒度的QP。视频译码器可以在确定ΔQP之前将来自较低QP粒度的QP映射到来自较高QP粒度的QP。也就是说,可以使用函数2n将具有QP粒度6的QP映射到具有QP粒度12的QP,其中n与QP粒度6有关。在此实例中,n可以取从0到51的值。在其它实例中,视频译码器可以使用上文所描述的函数的逆形式将QP从较高粒度映射到较低粒度。
图1是图解说明可以执行本发明的用于执行变换系数的量化(包含逆量化)的技术的实例视频编码和解码系统10的框图。如图1中所示,系统10包含源装置12,其提供稍后将由目的地装置14解码的经编码视频数据。明确地说,源装置12经由计算机可读媒体16将视频数据提供到目的地装置14。源装置12和目的地装置14可包括多种多样的装置中的任一者,包含桌上型计算机、笔记型(即,膝上型)计算机、平板计算机、机顶盒、电话手持机(例如所谓的“智能”电话)、所谓的“智能”平板电脑、电视机、相机、显示装置、数字媒体播放器、视频游戏控制台、视频流式传输装置或类似装置。在一些情况下,源装置12和目的地装置14可能经装备以用于无线通信。
目的地装置14可经由计算机可读媒体16接收待解码的经编码视频数据。计算机可读媒体16可包括能够将经编码视频数据从源装置12移动到目的地装置14的任何类型的媒体或装置。在一个实例中,计算机可读媒体16可包括使得源装置12能够实时将经编码视频数据直接发射到目的地装置14的通信媒体。经编码视频数据可以根据通信标准(例如无线通信协议)得到调制,并且被发射到目的地装置14。通信媒体可包括任何无线或有线通信媒体,例如射频(RF)频谱或一个或一个以上物理传输线路。通信媒体可能形成分组网络(例如局域网、广域网或全球网络,例如因特网)的一部分。通信媒体可包含路由器、交换器、基站或任何其它可以用于促进从源装置12到目的地装置14的通信的设备。
在一些实例中,经编码数据可以从输出接口22输出到存储装置。类似地,可以通过输入接口从存储装置存取经编码数据。存储装置可包含多种分布式或本地存取的数据存储媒体中的任一者,例如硬盘驱动器、蓝光光盘、DVD、CD-ROM、快闪存储器、易失性或非易失性存储器或任何其它用于存储经编码视频数据的合适的数字存储媒体。在另一实例中,存储装置可以对应于文件服务器或另一可存储源装置12产生的经编码视频的中间存储装置。目的地装置14可经由流式传输或下载从存储装置存取经存储的视频数据。文件服务器可以是任何类型的能够存储经编码视频数据并且将经编码视频数据发射到目的地装置14的服务器。实例文件服务器包含网络服务器(例如,用于网站)、FTP服务器、网络连接存储(NAS)装置或本地磁盘驱动器。目的地装置14可以通过任何标准数据连接(包含因特网连接)来存取经编码视频数据。这可包含适合于存取存储于文件服务器上的经编码视频数据的无线信道(例如,Wi-Fi连接)、有线连接(例如,DSL、电缆调制解调器等)或两者的组合。经编码视频数据从存储装置的发射可能是流式发射、下载发射或两者的组合。
本发明可能总体上参考视频编码器20向另一装置(例如视频解码器30)“用信号表示”某些信息。但是,应理解,视频编码器20可以通过使某些语法元素与视频数据的各种经编码部分相关联来用信号表示信息。也就是说,视频编码器20可以通过将某些语法元素存储到视频数据的各种经编码部分的标头来“用信号表示”数据。在一些情况下,这些语法元素可能在被视频解码器30接收和解码之前,先被编码和存储(例如,存储到存储媒体34或文件服务器36)。因而,术语“用信号表示”可能总体上指代用于解码经压缩视频数据的语法或其它数据的通信,不论所述通信是实数或几乎实时发生还是在一段时间中发生,例如可能在编码时将语法元素存储到媒体上的时候发生,接着可以在存储到这个媒体上之后的任何时间由解码装置检索语法元素。
本发明的技术总体上涉及对数据进行熵译码,本发明的技术未必限于无线应用或设置。所述技术可以应用于视频译码并且支持多种多媒体应用中的任一者,例如空中电视广播、有线电视发射、卫星电视发射、因特网流式传输视频发射(例如动态自适应HTTP流式传输(DASH))、经编码到数据存储媒体上的数字视频,存储在数据存储媒体上的数字视频的解码,或其它应用。在一些实例中,系统10可经配置以支持单向或双向视频发射,以支持例如视频流式传输、视频回放、视频广播和/或视频电话等应用。
在图1的实例中,源装置12包含视频源18、视频编码器20和输出接口22。目的地装置14包含输入接口28、视频解码器30和显示装置32。根据本发明,源装置12的视频编码器20可经配置以应用所述技术对运动向量进行译码,和执行HEVC和其扩展(例如多视图或3DV扩展)中的双向预测。在其它实例中,源装置和目的地装置可包含其它组件或布置。举例来说,源装置12可以从外部视频源18(例如外部相机)接收视频数据。同样,目的地装置14可以与外部显示装置介接,而非包含集成显示装置。
图1的所图解说明的系统10仅为一个实例。可以由任何数字视频编码和/或解码装置来执行用于对视频数据进行熵译码的技术。尽管本发明的技术总体上通过视频编码装置来执行,但是所述技术还可通过视频编码器/解码器(通常被称作“编解码器”)执行。此外,本发明的技术还可通过视频预处理器执行。源装置12和目的装置14仅为这些译码装置的实例,其中源装置12产生用于发射到目的装置14的经译码视频数据。在一些实例中,装置12、14可以大体上对称的方式操作以使得装置12、14中的每一者包含视频编码和解码组件。因此,系统10可支持视频装置12、14之间的单向或双向视频发射,例如用于视频流式传输、视频回放、视频广播或视频电话。
源装置12的视频源18可包含视频俘获装置,例如摄像机、含有先前所俘获视频的视频档案和/或用于从视频内容提供者接收视频的视频馈送接口。作为另一替代方案,视频源18可产生基于计算机图形的数据作为源视频,或直播视频(live video)、存档视频与计算机产生的视频的组合。在一些情况下,如果视频源18为摄像机,那么源装置12和目的装置14可形成所谓的相机电话或视频电话。然而,如上文所提及,本发明中所描述的技术可大体上适用于视频译码,且可应用于无线和/或有线应用。在每一情况下,可由视频编码器20对经俘获的、经预先俘获的或计算机产生的视频进行编码。经编码视频信息可接着通过输出接口22输出到计算机可读媒体16上。
计算机可读媒体16可包含瞬时媒体,例如无线广播或有线网络发射,或存储媒体(也就是说,非暂时存储媒体),例如硬盘、快闪驱动器、压缩光盘、数字视频光盘、蓝光光盘或其它计算机可读媒体。在一些实例中,网络服务器(未图示)可以从源装置12接收经编码视频数据,并且例如经由网络发射将经编码视频数据提供到目的地装置14。类似地,媒体生产设施(例如光盘冲压设施)的计算装置可以从源装置12接收经编码视频数据并且生产容纳经编码视频数据的光盘。因此,在各种实例中,计算机可读媒体16可以理解为包含各种形式的一个或一个以上计算机可读媒体。
目的地装置14的输入接口28从计算机可读媒体16接收信息。计算机可读媒体16的信息可包含通过视频编码器20定义的语法信息,所述语法信息还由视频解码器30使用,包含描述块和其它经译码单元(例如GOP)的特性和/或处理的语法元素。明确地说,本发明的“经译码单元”是指包含多个块(例如切片、图片、波前组或单元片)的数据单元。因而,术语“经译码单元”应理解为包含多个块,例如多个最大译码单元(LCU)。此外,术语“经译码单元”不应与HEVC中使用的术语“译码单元”或CU混淆。显示装置32向用户显示经解码视频数据,且可包含多种显示装置中的任一者,例如阴极射线管(CRT)、液晶显示器(LCD)、等离子显示器、有机发光二极管(OLED)显示器或另一类型的显示装置。
视频编码器20和视频解码器30可以根据一种视频译码标准操作,所述视频译码标准例如是目前正在开发的高效率视频译码(HEVC)标准。或者,视频编码器20和视频解码器30可以根据其它专有或业界标准来操作,所述标准例如是ITU-T H.264标准,也被称为MPEG-4,第10部分,高级视频译码(AVC),或此类标准的扩展。但是,本发明的技术不限于任何特定译码标准。视频译码标准的其它实例包含MPEG-2和ITU-T H.263。尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件和软件,以处理对共同数据流或单独数据流中的音频与视频两者的编码。如果适用,MUX-DEMUX单元可符合ITUH.223多路复用器协议或例如用户数据报协议(UDP)等其它协议。
ITU-T H.264/MPEG-4(AVC)标准是由ITU-T视频译码专家组(Video CodingExperts Group,VCEG)连同ISO/IEC动画专家组(MPEG)制定以作为被称为联合视频小组(Joint Video Team,JVT)的集体伙伴关系的产品。在一些方面中,本发明中所描述的技术可应用于通常符合H.264标准的装置。ITU-T研究组在2005年3月在ITU-T建议H.264“用于通用音视频服务的高级视频译码(Advanced Video Coding for generic audiovisualservices)”中描述了H.264标准,其在本文中可被称作H.264标准或H.264规范或H.264/AVC标准或规范。联合视频小组(JVT)继续致力于对H.264/MPEG-4AVC的扩展。
JCT-VC正在努力开发HEVC标准。HEVC标准化努力是基于被称作HEVC测试模型(HM)的视频译码装置的演进的模型。HM假设视频译码装置根据例如ITU-T H.264/AVC相对于现存装置的几种额外能力。举例来说,虽然H.264提供了九种帧内预测编码模式,但是HM可提供多达三十三种帧内预测编码模式。HEVC标准的近来的草案(被称作“HEVC工作草案7”或“WD7,”)描述于以下文件中:JCTVC-I1003,布洛斯(Bross)等人,“高效率视频译码(HEVC)文本规范草案7(High efficiency video coding(HEVC)Text Specification Draft7)”,ITU-T SG16WP3和ISO/IEC JTC1/SC29/WG11的视频译码联合小组(JCT-VC),第九届大会;瑞士日内瓦,2012年4月27日到2012年5月7日,2012年6月15日发表,可以从http://phenix.it-sudparis.eu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v3.zip下载,并且以引用的方式并入本文中。
总的来说,HM的工作模型描述视频图片(或“帧”,其可以与“图片”互换使用)可以分成一连串树块或最大译码单元(LCU),其包含明度和色度样本两者。位流内的语法数据可以定义最大译码单位LCU(其是就像素数目来说的最大译码单位)的大小。切片包含译码次序的多个连续树块。视频图片可以分割成一个或一个以上切片。每一树块可以根据四叉树分裂成译码单元(CU)。总的来说,四叉树数据结构包含每个CU一个节点,其中一个根节点对应于所述树块。如果一个CU分裂成四个子CU,那么对应于CU的节点包含四个叶节点,其中的每一者对应于所述子CU中的一者。
四叉树数据结构的每一节点可以提供对应CU的语法数据。举例来说,四叉树中的一个节点可包含一个分裂旗标,其指示对应于所述节点的CU是否分裂成子CU。可以递归地定义CU的语法元素,且所述语法元算可以取决于所述CU是否分裂成子CU。如果CU不进一步分裂,那么将其称为叶CU。在本发明中,叶CU的子CU也将被称作叶CU,即使不存在原始叶CU的明确分裂时也是如此。举例来说,如果16x16大小的CU不进一步分裂,那么这四个8x8子CU将也被称作叶CU,虽然16x16CU从未分裂。
CU具有类似于H.264标准的宏块的用途,但是CU并不具有大小区别。举例来说,树块可以分裂成四个子节点(还称为子CU),并且每一子节点又可以是父节点并且可以分裂成另外四个子节点。最终的未分裂子节点(被称作四叉树的叶节点)包括译码节点,也称为叶CU。与经译码位流相关联的语法数据可以定义树块可以分裂的最大次数,被称作最大CU深度,并且还可定义译码节点的最小大小。所以,位流还可定义最小译码单元(SCU)。本发明使用术语“块”指代HEVC的上下文中的CU、PU或TU中的任一者,或者其它标准的上下文中的类似数据结构(例如,H.264/AVC中的宏块和其子块)。
CU包含译码节点和与所述译码节点相关联的预测单元(PU)和变换单元(TU)。CU的大小对应于译码节点的大小并且形状必须是正方形。CU的大小可以从8x8像素到具有最多64x64像素或更大的树块的大小变动。每一CU可以含有一个或一个以上PU和一个或一个以上TU。举例来说,与CU相关联的语法数据可描述CU分割成一个或一个以上PU。分割模式可以在CU被跳过或经直接模式编码、帧内预测模式编码或帧间预测模式编码之间有区别。PU可以分割成非正方形形状。举例来说,与CU相关联的语法数据还可描述CU根据四叉树分割成一个或一个以上TU。TU可以是正方形或非正方形(例如,矩形)形状。
HEVC标准允许根据TU变换,TU可以针对不同CU而有所不同。TU的大小通常是基于针对经分割LCU定义的给定CU内的PU的大小而确定,但是情况可能并不总是如此。TU通常与PU大小相同或小于PU。在一些实例中,对应于CU的残余样本可以使用一种被称为“残余四叉树”(RQT)的四叉树结构细分成较小单元。RQT的叶节点可被称为变换单元(TU)。可以变换与TU相关联的像素差值以产生变换系数,所述变换系数可以经量化。
叶CU可包含一个或一个以上预测单元(PU)。总的来说,PU表示对应于对应CU的全部或一部分的空间区域,并且可包含用于检索PU的参考样本的数据。此外,PU包含与预测有关的数据。举例来说,当PU经帧内模式编码时,用于PU的数据可以包含在残余四叉树(RQT)中,残余四叉树可包含描述用于对应于PU的TU的帧内预测模式的数据。作为另一实例,当PU经帧间模式编码时,PU可包含定义PU的一个或一个以上运动向量的数据。举例来说,定义PU的运动向量的数据可以描述运动向量的水平分量、运动向量的垂直分量、运动向量的分辨率(例如,四分之一像素精度或八分之一像素精度)、运动向量指向的参考图片和/或运动向量的参考图片列表(例如,列表0、列表1或列表C)。
具有一个或一个以上PU的叶CU还可包含一个或一个以上变换单元(TU)。变换单元可以使用RQT(也称为TU四叉树结构)来指明,如上文所论述。举例来说,分裂旗标可以指示叶CU是否分裂成四个变换单元。接着,每一变换单元可以进一步分裂成更多个子TU。当TU不进一步分裂时,其可被称为叶TU。总体上,对于帧内译码,所有属于一个叶CU的叶TU共用相同的帧内预测模式。也就是说,总体上应用相同帧内预测模式来计算叶CU的所有TU的预测值。对于帧内译码,视频编码器20可以使用帧内预测模式针对每一叶TU计算残余值,作为CU的对应于TU的部分与原始块之间的差。TU不必限于PU的大小。因而,TU可以比PU大或小。对于帧内译码,PU可以与相同CU的对应叶TU设在同一位置。在一些实例中,叶TU的最大大小可以对应于对应叶CU的大小。
此外,叶CU的TU还可与相应四叉树数据结构(被称作残余四叉树(RQT))相关联。也就是说,叶CU可包含指示叶CU如何分割成TU的四叉树。TU四叉树的根节点总体上对应于叶CU,而CU四叉树的根节点总体上对应于树块(或LCU)。未分裂的RQT的TU被称作叶TU。总的来说,本发明分别使用术语CU和TU指代叶CU和叶TU,除非以其它方式指出。
视频序列通常包含一系列视频图片。图片群组(GOP)总体上包括一系列一个或一个以上视频图片。GOP可包含GOP的标头、图片中的一者或一者以上的标头或其它地方中的语法数据,其描述GOP中包含的图片的数目。图片的每一切片可包含切片语法数据,其描述用于相应切片的编码模式。视频编码器20通常对各个视频切片内的视频块进行操作以便对视频数据进行编码。视频块可以对应于CU内的译码节点。视频块可以具有固定或变化的大小,并且根据指定译码标准可以有不同大小。
作为一实例,HM支持各种PU大小的预测。假定特定CU的大小是2Nx2N,那么HM支持2Nx2N或NxN的PU大小的帧内预测,和2Nx2N、2NxN、Nx2N或NxN的对称PU大小的帧间预测。HM还支持用于2NxnU、2NxnD、nLx2N和nRx2N的PU大小的帧间预测的不对称分割。在不对称分割中,不分割CU的一个方向,但是另一方向分割成25%和75%。CU的对应于25%分区的部分表示成“n”,接着是用“上方”、“下方”、“左侧”或“右侧”指示。因而,举例来说,“2NxnU”是指水平地分割的2Nx2NCU,其中上方有2Nx0.5N PU,而下方有2Nx1.5N PU。
在本发明中,“NxN”和“N乘N”可以互换使用来指代在垂直和水平尺寸方面的视频块的像素尺寸,例如,16x16像素或16乘16像素。总的来说,16x16块将在垂直方向上具有16个像素(y=16),并且在水平方向上具有16个像素(x=16)。同样,NxN块总体上在垂直方向上具有N个像素,并且在水平方向上具有N个像素,其中N表示非负整数值。一块中的像素可布置成若干行和若干列。此外,块未必需要在水平方向与垂直方向上具有相同数目的像素。举例来说,块可包括NxM个像素,其中M未必等于N。
在使用CU的PU的帧内预测性或帧间预测性译码之后,视频编码器20可以计算CU的TU的残余数据。PU可包括描述在空间域(还称为像素域)中产生预测性像素数据的方法或模式的语法数据,并且TU可包括在对残余视频数据应用了变换(例如离散余弦变换(DCT)、整数变换、小波变换或概念上类似的变换)之后变换域中的系数。所述残余数据可以对应于未编码图片的像素与对应于PU的预测值之间的像素差。视频编码器20可以形成包含用于CU的残余数据的TU,并且接着变换TU以产生用于CU的变换系数。
视频编码器20可以接着对变换系数进行量化以进一步压缩视频数据。量化总体上是指变换系数经量化以可能减少用于表示系数的数据量从而提供进一步压缩的过程。量化过程可减少与系数中的一些或全部相关联的位深度。举例来说,n位值可在量化期间被下舍入到m位值,其中n大于m。
可以根据量化参数(QP)应用量化,量化参数可以被索引到在量化期间应用于变换系数的量化器步长。视频编码器20可以通过调整QP来修改量化的程度(例如,量化器步长)。举例来说,根据一些视频译码标准(例如H.264和新出现的HEVC标准),视频编码器20可以用全部整数递增来选择0-51范围内的QP(但是其它范围是可能的,例如-26到+25,或另一范围)。视频编码器20可以应用与选定QP相关联的量化器步长。
为了进一步减少视频编码器20在位流中用信号表示的数据量,视频编码器20可以为给定块预测一个QP。举例来说,并非包含QP自身,视频编码器20可以识别用于当前块的实际QP与某个参考QP(例如与不同块相关联的QP或在几个相邻块之间平均的QP)之间的变化(即,Δ)。视频编码器20可以接着用信号表示用于位流中的当前块的ΔQP。在一些实例中,参考QP可以与空间上与目前正被编码的块相邻的块相关联。在其它实例中,参考QP可以与在空间上与同目前正被编码的块不同的时间实例中的块相关联。
视频编码器20可以在切片等级或在LCU等级或针对CU群组用信号表示(例如,在经编码位流中包含语法元素)QP或ΔQP。举例来说,视频编码器20可以识别将应用于在与LCU内的CU的不同PU相关联的TU中的所有变换系数的QP。在另一实例中,视频编码器20可以识别将应用于切片的所有TU中的所有变换系数的QP。在又一实例中,视频编码器20可以识别用于一个或一个以上特定TU的某个QP。
如上文所示,本发明的技术总体上涉及控制在视频译码期间应用于一个或一个以上变换系数的量化量。举例来说,视频编码器20可以首先选择用于对给定变换系数进行量化的QP。在应用与选定QP相关联的量化器步长之前,视频编码器20可以对量化器步长应用量化按比例缩放值。也就是说,可以对固定量化器步长应用可变按比例缩放值。量化按比例缩放值可以将量化器步长增加(或减小)成比索引到下一个较高或较低QP的下一个量化器步长小。以此方式,视频编码器20对于应用于经量化的变换系数的量化量具有更大控制(例如,相对于选择全部整数QP)。
此外,本发明的技术涉及用信号表示量化按比例缩放值。举例来说,视频编码器20可以在切片等级或块等级(例如,LCU和/或CU等级)上用信号表示量化按比例缩放值。在切片等级上,视频编码器20可以分别基于块类型用信号表示量化按比例缩放值。举例来说,视频编码器20可以在用于不同块类型(例如,帧内预测块、帧间预测块、明度块、色度块及类似块)的切片标头内用信号表示不同量化按比例缩放值。在这个实例中,视频编码器20可以经由用于切片中的每个块的量化按比例缩放值来调整量化器步长。在另一实例中,视频编码器20可以在CU等级上用信号表示量化按比例缩放值,从而将量化按比例缩放值应用于CU。在这个实例中,举例来说,视频编码器20可以在LCU等级上用信号表示量化按比例缩放值,从而将量化按比例缩放值应用于LCU内部的CU。
根据本发明的一些方面,视频编码器20可以设置旗标以指示量化按比例缩放值是否已应用于特定块或切片。举例来说,视频编码器20可以在切片标头中将旗标设置成零值,以指示没有将量化按比例缩放值应用于切片的量化器步长。或者,视频编码器20可以在切片标头中将旗标设置成一值,以指示量化按比例缩放值被应用于切片的量化器步长。在这个实例中,视频编码器20可以在旗标之后用信号表示量化按比例缩放值。另外或或者,视频编码器20可以用类似方式在LCU等级上设置旗标以指示量化按比例缩放值是否已应用于特定LCU内的块。
根据其它方面,本发明的技术涉及控制用于对变换系数进行量化的量化粒度。也就是说,与跟按比例缩放值有关的技术不同,视频编码器20可以接收量化粒度的单独指示。如上文所示,本发明总体上用“粒度”表示当执行量化时预定义的量化量可以细分或分解为较小部分的程度。举例来说,量化粒度可以指代全部量化被细分和用QP索引的程度,QP接着可以在量化期间应用于变换系数。
本发明的方面涉及通过改变上文所描述的QP索引为视频编码器20提供对所应用的量化量的控制。也就是说,在H.264译码根据52个QP细分全部量化的情况下,本发明的方面涉及进一步细分用于对与图片的一个或一个以上块相关联的变换系数进行量化的全部量化。在其它实例中,全部量化可以细分和被索引到较少QP。
在一实例中,可以修改QP与量化器步长之间的关系,从而使得当QP增加12时量化器步长翻倍。也就是说,每当QP增加一时,量化器步长将增加大约21/12的因子(例如,提供104个QP以覆盖相同范围的量化器步长)。这个实例可被称为量化粒度12。增加量化粒度可以为视频编码器20提供额外速率控制能力(例如,如上文所论述对速率失真的控制),和/或可以允许视频编码器20当执行感知位分配时具有较精细控制。但是,可能并不是图片的所有区域都需要较精细的量化粒度。在这些情况下,可能不值得用识别提高的量化粒度所需要的额外位来增加量化控制。
本发明的技术还涉及自适应地改变图片内的量化粒度。举例来说,根据本发明的方面,视频编码器20可以选择用于对视频数据块进行量化的量化粒度,并且用信号表示所述选定量化粒度(例如,在位流中包含选定量化粒度的指示)。举例来说,视频编码器20可以用LCU信息、用CU信息、用CU群组或类似信息在切片标头中提供量化粒度的指示。
在量化之后,视频编码器可以扫描变换系数,从包含经量化变换系数的二维矩阵产生一维向量。扫描可以经过设计以将较高能量(并且因此较低频率)的系数放置在阵列正面,并且将较低能量(并且因此较高频率)的系数放置在阵列后面。在一些实例中,视频编码器20可以利用预定义扫描次序来扫描经量化变换系数以产生可被熵编码的串行化向量。在其它实例中,视频编码器20可以执行自适应扫描。
在扫描经量化变换系数以形成一维向量之后,视频编码器20可以例如根据上下文自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)、基于语法的上下文自适应二进制算术译码(SBAC)、概率区间分割熵(PIPE)译码或另一熵编码方法对一维向量进行熵编码。视频编码器还20可对与经编码视频数据相关联的语法元素进行熵编码以供视频解码器30在对视频数据进行解码时使用。
为了执行CABAC,视频编码器20可以选择待应用于某一上下文以对待发射的符号进行编码的上下文模型。举例来说,所述上下文可以涉及相邻值是否为非零。视频编码器20还可对语法元素进行熵编码,所述语法元素例如是在执行自适应扫描时产生的有效系数旗标和最后系数旗标。根据本发明的技术,视频编码器20可以基于(举例来说)帧内预测方向、对应于语法元素的系数的扫描位置、块类型和/或变换类型以及其它用于上下文模型选择的因素来选择用于对这些语法元素进行编码的上下文模型。
总的来说,视频解码器30执行的视频解码过程可包含与视频编码器20执行的编码技术相反的技术。虽然总体上是相反的,但是在一些情况下视频解码器30可以执行类似于视频编码器20执行的技术的技术。视频解码器30还可依赖于接收到的位流中包含的语法元素或其它数据,包含关于视频编码器20描述的数据。
具体来说,根据本发明的方面,视频解码器30可以执行与上文在执行逆量化时相对于视频编码器20所描述的量化技术相似或相同的技术。也就是说,根据本发明的方面,视频解码器30可以在切片等级以及译码单元等级(例如,最大译码单元等级,如HEVC中所定义)上接收对量化按比例缩放值的指示。
在切片等级上,视频解码器30可以分别基于块类型接收量化按比例缩放值的指示。举例来说,视频解码器30可以在切片标头内接收用于不同块类型的不同量化按比例缩放值。在这个实例中,视频解码器30可以经由用于切片中的每个块的量化按比例缩放值来调整量化器步长。在另一实例中,视频解码器30可以在LCU和/或CU等级上(例如在LCU或CU标头中)接收量化按比例缩放值的指示,从而使得视频解码器30仅将量化按比例缩放值应用于QP,以便控制对于切片的某些块的TU的量化。
视频解码器30可以在解量化期间应用接收到的量化按比例缩放值。举例来说,视频解码器30可以首先识别用于对给定变换系数进行解量化的QP。在应用与选定QP相关联的量化器步长之前,视频解码器30可以对量化器步长应用量化按比例缩放值。量化按比例缩放值可以将量化器步长增加(或减少)成比被索引到下一个较高或较低QP的下一个量化器步长(例如,与整数QP相关联)小。
根据其它方面,视频解码器30可以接收量化粒度的指示。也就是说,与跟按比例缩放值有关的技术不同,视频解码器30可以接收量化粒度的单独指示。举例来说,视频解码器30可以接收用于对视频数据块进行解量化的量化粒度的指示。在一些实例中,视频解码器30可以在切片等级或LCU等级或CU等级上或针对CU群组接收量化粒度信号。
在于切片标头中用信号表示QP粒度的实例中,视频解码器30可以接收另一旗标,其指示QP粒度是否在所述切片内自适应。举例来说,视频解码器30可以基于一个或一个以上接收到的语法元素确定QP粒度是否从切片内的一个LCU到另一LCU变化。如果使用自适应粒度,则可提供另一语法元素,其指示用于所述切片的最大可允许的粒度。
在启用切片内的自适应粒度的实例中,可以经由语法元素在LCU等级上用信号表示QP粒度。举例来说,语法元素可以识别用于所述LCU的QP粒度,类似于上文所描述的切片标头中的信令。LCU语法元素的信令可以使用由相邻语法元素(用因果次序)的值组成的上下文(例如,用于熵译码)。
在一些实例中,视频解码器30还可确定是否将QP从一个QP粒度映射到另一QP粒度。也就是说,在接收到ΔQP的实例中,视频解码器30可以对用于对当前块进行译码的预测性QP和/或ΔQP进行按比例缩放,使得QP粒度匹配。视频解码器可以接着基于预测性QP与ΔQP的组合(例如,总和)来确定用于对当前块进行逆量化的QP。
尽管图1中未展示,但在一些方面中,视频编码器20和视频解码器30可各自与音频编码器和解码器集成,且可包含适当的多路复用器-多路分用器(MUX-DEMUX)单元或其它硬件和软件,以处理对共同数据流或单独数据流中的音频与视频两者的编码。在一些实例中,如果适用的话,多路复用器-多路分用器单元可以符合ITU H.223多路复用器协议,或例如用户数据报协议(UDP)等其它协议。
视频编码器20和视频解码器30各自可经实施为例如一个或一个以上微处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、离散逻辑、软件、硬件、固件或其任何组合的多种合适编码器电路中的任一者。当部分地用软件实施所述技术时,装置可将用于所述软件的指令存储于合适的非暂时计算机可读媒体中且使用一个或一个以上处理器用硬件执行所述指令以执行本发明的技术。视频编码器20和视频解码器30中的每一者可以包含在一个或一个以上编码器或解码器中,所述编码器或解码器中的任一者可以集成为相应装置中的组合编码器/解码器(编解码器)的一部分。
图2是图解说明可以实施用于控制在视频译码期间应用于一个或一个以上变换系数的量化量的技术的视频编码器20的实例的框图。应理解,出于概念目的,图2的某些组件可能是相对于单个组件展示和描述的,但是可包含一个或一个以上功能单元。此外,虽然图2的某些组件可能是相对于单个组件展示和描述的,但是这些组件可以物理上包括一个或一个以上离散和/或集成单元。
如图2中所示,视频编码器20接收待编码视频图片内的当前视频块。在图2的实例中,视频编码器20包含模式选择单元40、运动估计单元42、运动补偿单元44、帧内预测单元46、参考图片存储器64、求和器50、变换处理单元52、量化单元54和熵编码单元56。对于视频块重建,视频编码器20还包含逆量化单元58、逆变换单元60和求和器62。
视频编码器20总体上图解说明对待编码视频切片内的视频块进行编码的组件。所述切片可以分成多个视频块(并且可能分成被称作单元片的视频块集合)。模式选择单元40可以基于错误结果(例如,译码速率和失真等级)针对当前视频块选择多种可能的译码模式之一,例如多种帧内译码模式之一或如下文所描述的多种帧间译码模式之一。模式选择单元40可以将所得经帧内或帧间译码块提供到求和器50以产生残余块数据,并且提供到求和器62以重建经编码块以用作参考图片。
运动估计单元42和运动补偿单元44相对于一个或一个以上参考图片中的一个或一个以上块执行对接收到的视频块的帧间预测性译码。运动估计单元42与运动补偿单元44可高度集成,但出于概念的目的而分开予以说明。
总的来说,运动估计单元42执行的运动估计是产生运动向量的过程,所述过程估计视频块的运动。举例来说,运动向量可以指示预测性参考图片内的预测性块(或其它经译码单元)相对于当前图片内的正被译码的当前块(或其它经译码单元)的移位。.预测性块是经发现在像素差方面与待译码块密切匹配的块,其可通过绝对差总和(SAD)、平方差总和(SSD)或其它差量度来确定。预测性块还可被称作“参考块”,因为预测性块是在帧间预测期间被参考的。
所以,运动估计单元42可以通过将目前正被译码的块与参考图片存储器64中的参考图片的参考块比较来计算用于经帧间译码图片的视频块的运动向量。ITU-T H.264标准是指参考图片的“列表”,例如列表0和列表1。列表0包含具有比当前图片早的显示次序的参考图片,而列表1包含具有比当前图片晚的显示次序的参考图片。在其它译码方案中,可以维持单个列表。运动估计单元42将计算出来的运动向量发送到熵编码单元56和运动补偿单元44。
运动补偿单元44执行的运动补偿可以包括基于通过运动估计(可能执行对子像素精确度的内插)确定的运动向量取出或产生预测性块。在接收到当前视频块的运动向量后,运动补偿单元44即刻可以在参考图片列表中的一者中定位所述运动向量指向的预测性块。视频编码器20通过从正被译码的当前视频块的像素值减去预测性块的像素值从而形成像素差值来形成残余视频块。像素差值形成用于所述块的残余数据,并且可包含明度和色度差分量两者。求和器50表示执行此减法运算的组件。运动补偿单元44还可产生与视频块和视频切片相关联的语法元素以供视频解码器30在对视频切片的视频块进行解码时使用。
作为如上文所描述由运动估计单元42和运动补偿单元44执行的帧间预测的替代方案,帧内预测单元46可以对当前块进行帧内预测。明确地说,帧内预测单元46可以确定用来对当前块进行编码的帧内预测模式。在一些实例中,帧内预测单元46可以例如在分开的编码编次期间使用各种帧内预测模式对当前块进行编码,并且帧内预测单元46(或在一些实例中为模式选择单元40)可以从所述测试模式中选择适当帧内预测模式来使用。
举例来说,帧内预测单元46可以使用速率失真分析计算用于各种经测试帧内预测模式的速率失真值,并且从所述经测试模式当中选择具有最佳速率失真特性的帧内预测模式。速率失真分析总体上确定经编码块与经编码以产生所述经编码块的原始未编码块之间的失真(或误差)的量,以及用于产生经编码块的位速率(也就是说,位数目)。帧内预测单元46可以根据用于各种经编码块的失真和速率计算比率,以确定哪个帧内预测模式对于所述块展现最佳速率失真值。
在任何情况下,在选择了用于一个块的帧内预测模式之后,帧内预测单元46可以将指示用于所述块的选定帧内预测模式的信息提供到熵编码单元56。熵编码单元56可以根据本发明的技术对指示所述选定帧内预测模式的信息进行编码。视频编码器20可以在发射的位流中可包含配置数据,其可包含多个帧内预测模式索引表和多个修改的帧内预测模式索引表(也称为码字映射表),各种块的编码上下文的定义,和用于所述上下文中的每一者的最可能帧内预测模式、帧内预测模式索引表和修改的帧内预测模式索引表的指示。
变换处理单元52对残余块应用一个变换,例如离散余弦变换(DCT)、近似DCT的整数变换、近似DCT的固定点变换或概念上类似的变换,从而生产包括残余变换系数值的视频块。变换处理单元52可以执行其它变换,例如通过H.264标准定义的变换,其概念上类似于DCT。也可使用子波变换、整数变换、子带变换或其它类型的变换。针对例如“变换跳过”模式等一些译码模式,可以不执行残余像素的变换。也就是说,如下文所描述,量化单元54可以直接对预测残余进行量化。在变换处理单元52对残余块应用变换的例子中,变换处理单元52产生残余变换系数块。变换处理单元52可将残余信息从像素值域转换到变换域,例如频域。
量化单元54对残余变换系数进行量化以进一步减小位速率。量化过程可减少与系数中的一些或全部相关联的位深度。可通过调整量化参数来修改量化程度。举例来说,量化总体上包括相对大范围内的值向相对小范围内的值的映射,因而减少了表示经量化变换系数所需的数据的量。
量化单元54可以通过根据预定义算法应用QP来对变换系数进行量化。在一实例中,量化单元54可以使用上文所描述的等式(1)对变换系数进行量化。量化单元54可以通过调整QP来修改应用于变换系数值的量化程度。在一些实例中,量化单元54可以选择在0到51的范围内的QP,但可以使用其它QP范围(例如,-26到26,或其它范围)。
虽然标准可能未规范地指明在视频编码器20处使用的量化器步长,但是在一些视频编码器中,当QP增加1时,量化器步长通常大概增加因子21/6。所以,在存在52个QP的实例中,量化单元54可以将QP索引到下表1中所示的量化器步长:
表1-用于量化粒度(6)的量化器步长
QP 0 1 2 3 4 5 6 ...
Qstep 0.625 0.6875 0.8125 0.875 1 1.125 1.25 ...
QP ... 18 ... 36 ... 42 ... 51
Qstep 5 40 80 224
换句话说,QP递增一,可以对应于量化器步长Qstep大约增加12.5%。所以,QP每递增6,量化量就会翻倍,这可被称为具有量化粒度六。如上文所述,可以在特定量化算法(例如上文等式(1)中所展示)中实施(通过QP映射到的)QPstep
量化单元54可以将QP从切片内的一个块到另一块变化。在块或切片之间变化QP(有时被称作自适应量化)的目的是改进视觉质量。当量化单元54在LCU或CU等级上改变量化器步长时,量化单元54可以经由被称作ΔQP的语法元素来指示所述变化。也就是说,并非包含QP自身,量化单元54可以识别和用信号表示用于当前块的实际QP与某个参考QP(例如,举例来说,切片QP、相邻块QP或时间上共同定位的块QP)之间的变化(即,Δ)。
当产生ΔQP时,量化单元54可以识别与空间上与当前块相邻的块(例如,相同切片或图片中的相邻块,或其可以对多个相邻QP求平均值)相关联的参考QP。举例来说,H.264兼容视频编码器20可以在宏块等级上用信号表示ΔQP,使用前一宏块的QP作为用于当前宏块的参考QP。其它可能性包含顶部和左侧相邻者或时间上共同定位的块或其它基于运动向量的块。
通过应用量化器步长范围,量化单元54可以控制位速率与质量之间的折中(例如,其可被称为速率失真)。举例来说,增加量化参数可以降低经译码数据的位速率。但是,经编码视频数据的总质量可能归因于量化引入的误差增加而受到不良影响。另一方面,减小量化参数可以提高经译码数据的位速率,同时提高总质量。
本发明的技术涉及控制应用于一个或一个以上变换系数的量化量。举例来说,根据本发明的方面,量化单元54可以应用量化按比例缩放值以调整在量化期间应用的量化器步长。出于说明的目的,如上文所述,H.264标准可以提供被索引到量化器步长的52个QP。在QP为0时,应用最小量化。在QP为51时,应用最大量化。此外,通常用整数递增(例如,递增一或一以上)来调整QP,并且QP每递增六,量化就会翻倍。根据本发明的方面,量化单元54可以对量化器步长应用比例因子以实现比用QP的整数变化可以实现的量化器步长更精细的量化器步长。
在一实例中,量化单元54可以选择用于对给定变换系数进行量化的QP。量化单元54可以接着识别被索引到QP的量化器步长。在应用量化器步长之前,量化单元54可以对量化器步长应用量化按比例缩放值。量化按比例缩放值可以将量化器步长增加(或减小)成比索引到下一个QP的下一个量化器步长小。以此方式,量化单元54对于经量化变换系数的量具有更大控制(例如,相对于选择整数QP)。
根据本发明的方面,量化单元54可以在量化期间应用量化按比例缩放值s,并且举例来说在位流中用信号表示量化按比例缩放值s。量化单元54可以使用所述量化按比例缩放值s来根据下文展示的等式(2)调整对应于某一QP的量化器步长:
Ts=T*(1+s) (2)
其中T表示当前QP指示的当前量化器步长。在这个实例中,s可以是正值或负值,并且Ts表示编码器或解码器应用的实际量化器步长。
如上文所述,例如H.264和目前所提议的HEVC标准等某些译码标准具有QP粒度六。也就是说,使QP增加或减小一,可以产生通过下方展示的等式(3)和(4)识别的量化器步长的变化:
TQP+1=TQP*2(1/6)=TQP*(1+(2(1/6)-1)) (3)
TQP-1=TQP*2(-1/6)=TQP*(1+(2(-1/6)-1)) (4)
在上文的等式(3)和(4)中,TQP与特定量化器步长相关联。当用等式(3)和(4)考虑等式(2)时,只要s取(2(-1/6)-1)与(2(1/6)-1)之间的值,就可以获得较精细粒度的量化器步长Ts。在这个实例中,量化器步长粒度可以取决于量化按比例缩放值s的精确度。此外,量化单元54可以独立于QP用信号表示量化按比例缩放值s,这在变化量化器步长时可以提供额外自由度。
量化单元54可以使用量化按比例缩放值以便获得期望位速率和/或速率失真。举例来说,量化单元54在量化期间应用第一量化参数以实现但不超过目标位速率。但是,使第一量化参数减小完整整数(由此减小应用于一个或一个以上变换系数的量化量)可以使位速率提高到目标以上。在这个实例中,量化单元54可以对索引到第一量化参数的量化器步长应用比例因子s以便实现目标位速率。也就是说,量化单元54可以确定与第一量化参数相关联的步长,对所确定的步长应用比例因子s,并且在预定义量化算法中应用按比例缩放的量化器步长。
在一些实例中,量化单元54可以在切片等级或块等级上提供量化按比例缩放值的指示。在切片等级上,量化单元54可以分别基于块类型来指示量化按比例缩放值。举例来说,量化单元54可以在用于不同块类型(例如,帧内预测块、帧间预测块、明度块、色度块或类似块)的切片标头内指示不同量化按比例缩放值。在这个实例中,量化按比例缩放值可以应用于切片中的每个块。在一些实例中,量化单元54还可在LCU和/或CU等级上指示量化按比例缩放值,从而仅对LCU内的某些CU或子CU应用量化按比例缩放值。
根据本发明的一些方面,量化单元54可以根据Δ量化按比例缩放值来指示量化按比例缩放值。也就是说,量化单元54可以产生用于当前块或切片的量化按比例缩放值与其它某个量化按比例缩放值(例如,与参考块或切片相关联的量化按比例缩放值)之间的差。量化单元54可以接着举例来说使用位流中的一个或一个以上语法元素来指示Δ量化按比例缩放值。
根据本发明的一些方面,量化单元54可以设置旗标以指示量化按比例缩放值是否已应用于特定块或切片。举例来说,量化单元54可以在切片标头中将旗标设置成值零,以指示没有将量化按比例缩放值应用于切片的量化器步长。在这种情况下,使用标准量化器步长。或者,量化单元54可以在切片标头中将旗标设置成值一,以指示量化按比例缩放值被应用于切片的量化器步长。在这个实例中,量化单元54可以在旗标之后用信号表示量化按比例缩放值。另外或或者,量化单元54可以用类似方式在块等级上设置旗标以指示量化按比例缩放值是否已应用于特定LCU内的块。
根据本发明的其它方面,量化单元54可以修改量化粒度。举例来说,本发明的方面涉及通过细化QP索引为量化单元54提供对所应用的量化量的增加的控制。在一实例中,假设具有根据52个QP细分的全部量化的基线量化粒度6。根据本发明的方面,量化单元54可以修改QP与量化器步长之间的关系,从而使得当QP增加12时量化器步长翻倍。也就是说,每当QP增加一时,量化器步长增加到大约21/12倍(例如,提供104个QP)。这个实例可被称为量化粒度12。
增加量化粒度可以为量化单元54提供额外速率控制(例如,控制上文所论述的速率失真),和/或可以允许视频译码器当执行感知位分配时具有较精细控制。但是,可能并不是视频图片(或切片)的所有区域都需要较精细的量化粒度。举例来说,所提议的HEVC标准可以允许用信号表示用于每个8x8的视频数据块的QP(或ΔQP)。相对粗糙的量化可能对一些视频数据块来说就够了。也就是说,使用相对粗糙的粒度可以实现期望的速率失真。在这些情况下,可能不值得用识别提高的量化粒度所需要的额外位换来增加的量化控制。
根据本发明的一些方面,量化单元54可以自适应地改变切片内的量化粒度。举例来说,量化单元54可以选择用于对视频数据块进行量化的QP粒度,并且指示所述选定QP粒度。在一些实例中,量化单元54可以在切片等级上指示QP粒度。举例来说,量化单元54可在切片标头中包含指明QP粒度的语法元素。语法元素可以指明QP粒度,或可以是指向几个预定义的QP粒度中的一者的索引。举例来说,指针值0可以指明相对最低粒度,指针值1可以指明相对较高粒度及类似情况。在这个实例中,指针值0可以识别现存AVC/H.264方案(QP粒度6),并且指针值1可以识别较低粒度的翻倍(QP粒度12)。
在于切片标头中用信号表示QP粒度的实例中,后面可以接着另一旗标,其指示QP粒度是否在所述切片内自适应。举例来说,量化单元54可以指示QP粒度是否从切片内的一个LCU到另一个LCU变化。如果用信号表示了自适应粒度,则切片指针可以指示用于所述切片的最大可允许的粒度。
在启用切片内的自适应粒度的实例中,可以经由语法元素在LCU等级上用信号表示QP粒度。举例来说,语法元素可以识别用于所述LCU的QP粒度,类似于上文所描述的切片标头中的信令。量化单元54可以使用上下文指示LCU语法元素,所述上下文包含特定(因果)次序的相邻语法元素(例如,与相邻块相关联的任何预定语法元素)的值。
在QP粒度是自适应的实例中,量化单元54可以执行QP粒度映射以恰当地确定和指示ΔQP。举例来说,用于QP预测的块可以具有与目前正被编码的块不同的QP粒度。根据本发明的方面,量化单元54可以映射当前QP和预测性QP中的一者或两者,使得QP粒度匹配。在一实例中,在给定切片(或图片)中可能存在具有12和6的QP粒度的QP。量化单元54可以将用于较高粒度(例如,QP粒度12)的QP值2n和2n+1映射到较低粒度的QP值(例如,QP粒度6)。在此实例中,n可以取0到51的值。在其它实例中,可以执行逆映射,将较低QP粒度映射到较高QP粒度。
用于确定此映射函数的度量可以是考虑对应于相应QP的量化器步长之间的距离。在这个实例中,多个高粒度QP可以映射到单个低粒度QP。可以使用类似的逆映射函数将来自较低QP粒度的每一QP映射到来自较高QP粒度的QP。举例来说,如果使用6和12的QP粒度,则量化单元54可以将QP n(n=0,1,2...51)映射到较高粒度QP2n。
在一实例中,量化单元54可以在高QP粒度上维持所有QP。如果用于QP预测的特定LCU具有较低QP粒度,则量化单元54可以通过使用上文所描述的映射函数将用于属于特定LCU的块的QP转换成较高QP粒度。量化单元54可以接着在较高QP粒度上执行QP预测。也就是说,量化单元54可以在较高QP粒度上确定用于当前块的ΔQP。另一方面,如果当前块具有较低QP粒度,则量化单元54可以使用映射函数将预测的QP值转换成较低QP粒度。量化单元54可以接着在较低QP粒度上形成用于当前块的ΔQP。
在另一实例中,可以在较低QP粒度上维持所有QP。如果用于QP预测的特定LCU具有高QP粒度,则量化单元54可以通过使用上文所描述的映射函数将用于属于所述LCU的块的QP值转换成较低QP粒度。量化单元54接着在较低QP粒度上形成QP预测。也就是说,量化单元54可以在较低QP粒度上确定用于当前块的ΔQP。另一方面,如果当前块具有较高QP粒度,则量化单元54可以应用映射函数将预测的QP值转换成较高QP粒度。量化单元54可以接着在较高QP粒度上形成用于当前块的ΔQP。或者,在这种情况下,一旦量化单元54在较低QP粒度上执行QP预测,量化单元54就可以同样在较低粒度上形成ΔQP。量化单元54可以通过使用映射函数将用于当前块的较高粒度QP转换成较低粒度而实现这种结果。量化单元54接着用信号表示额外信息以指明来自映射到特定的低粒度QP的一组高粒度QP中的实际高粒度QP。
在一些例子中,可以组合一个以上参考QP(例如,可以对多个参考QP求平均值)。在这些例子中,可以执行类似的映射技术以在组合参考QP之前使所有参考QP符合相同粒度。
在量化之后,熵编码单元56对经量化的变换系数进行熵译码。举例来说,熵编码单元56可以执行内容自适应可变长度译码(CAVLC)、上下文自适应二进制算术译码(CABAC)或另一熵译码技术。在由熵编码单元56熵译码之后,可将经编码视频发射到另一装置或存档以供日后发射或检索。在上下文自适应二进制算术译码(CABAC)的情况下,上下文可基于相邻宏块。
在一些情况下,熵编码单元56或视频编码器20的另一单元可经配置除了熵译码之外还执行其它译码功能。举例来说,熵编码单元56可经配置以确定用于宏块和分区的CBP值。而且,在一些情况下,熵编码单元56可以对一个宏块或其分区中的系数执行延行长度译码。明确地说,熵编码单元56可以应用Z形扫描或其它扫描图案来扫描宏块或分区中的变换系数并且对成串的零进行编码以用于进一步压缩。熵编码单元56还可用适当语法元素建构标头信息以用于在经编码视频位流中发射。
逆量化单元58和逆变换处理单元60分别应用逆量化和逆变换以在像素域中重建残余块,例如以供稍后用作参考块。运动补偿单元44可以通过将残余块添加到参考图片存储器64的图片中的一者的预测性块中来计算参考块。运动补偿单元44还可将一个或一个以上内插滤波器应用于经重建残余块以计算子整数像素值用于运动估计。求和器62将经重建残余块添加到由运动补偿单元44产生的运动补偿预测块以产生经重建视频块用于存储在参考图片存储器64中。经重建视频块可由运动估计单元42和运动补偿单元44使用作为参考块以对后续视频图片中的块进行帧间译码。
图3是图解说明对经编码视频序列进行解码的视频解码器30的实例的框图。在图3的实例中,视频解码器30包含熵解码单元130、预测单元131(其具有运动补偿单元132和帧内预测单元134)、逆量化单元136、逆变换单元138、参考图片存储器142和求和器140。
在解码过程期间,视频解码器30从视频编码器20接收表示经编码视频切片的视频块和相关联语法元素的经编码视频位流。视频解码器30的熵解码单元130对位流进行熵解码以产生经量化系数、运动向量和其它语法元素。熵解码单元130将运动向量和其它语法元素转发到预测单元131。视频解码器30可以在视频切片等级和/或视频块等级上接收语法元素。
当视频切片经译码为经帧内译码(I)切片时,预测单元131的帧内预测单元134可以基于用信号表示的帧内预测模式和来自当前图片的先前经解码块的数据产生用于当前视频切片的视频块的预测数据。当视频图片经译码为经帧间译码(即,B、P或GPB)切片时,预测单元131的运动补偿单元132基于从熵解码单元130接收到的运动向量和其它语法元素产生用于当前视频切片的视频块的预测性块。预测性块可以从参考图片列表中的一者内的参考图片中的一者产生。视频解码器30可以基于存储在参考图片存储器142中的参考图片使用默认建构技术建构参考帧列表--列表0和列表1。
运动补偿单元132通过剖析运动向量和其它语法元素确定用于当前视频切片的视频块的预测信息,并且使用所述预测信息产生用于正被解码的当前视频块的预测性块。举例来说,运动补偿单元132使用一些接收到的语法元素确定用于对视频切片的视频块进行译码的预测模式(例如,帧内预测或帧间预测)、帧间预测切片类型(例如,B切片、P切片或GPB切片)、切片的参考图片列表中的一者或一者以上的建构信息、切片的每一经帧间编码的视频块的运动向量、切片的每一经帧间译码的视频块的帧间预测状态和用以对当前视频切片中的视频块进行解码的其它信息。
运动补偿单元132还可基于内插滤波器执行内插。运动补偿单元132可使用由视频编码器20在视频块的编码期间使用的内插滤波器来计算参考块的子整数像素的内插值。在这种情况下,运动补偿单元132可根据接收到的语法信息元素确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。帧内预测单元134可使用在位流中接收的帧内预测模式以从空间上邻近的块形成预测块。
逆量化单元136将提供于位流中且由熵解码单元130解码的经量化块系数逆量化(即,解量化)。根据本发明的一些方面,逆量化单元136可经配置以用总体上与上文相对于图2的实例中展示的视频编码器20所描述的量化单元54的操作相反的方式操作。举例来说,逆量化单元136可以接收通过视频编码器(例如视频编码器20)用信号表示的ΔQP。ΔQP可以是用于逆量化的实际QP与一个或一个以上参考QP(预测性QP)之间的差。逆量化单元136可以确定用于执行逆量化的实际QP并且对接收到的经量化变换系数进行逆量化。也就是说,逆量化单元136可以基于接收到的ΔQP和一个或一个以上参考QP的组合(例如,总和)来确定实际QP。
根据本发明的方面,逆量化单元136可以在切片等级或块等级(例如,LCU、CU或CU群组)上例如在经编码位流中接收量化按比例缩放值的指示。在切片等级上,逆量化单元136可以分别基于块类型接收量化按比例缩放值的指示。举例来说,逆量化单元136可以在用于不同块类型(例如,帧内预测块、帧间预测块、明度块、色度块或类似块)的切片标头内接收不同量化按比例缩放值。在这个实例中,逆量化单元136可以经由用于切片中的每个译码单元的量化按比例缩放值来调整量化器步长。在另一实例中,逆量化单元136可以在LCU等级(或CU等级)上接收量化按比例缩放值的指示,从而通过逆量化单元136对LCU的一个或一个以上CU应用量化按比例缩放值。
在一些实例中,并非接收实际量化按比例缩放值,逆量化单元136可以接收Δ量化按比例缩放值。在此些实例中,视频解码器30可以识别用于当前块或切片的量化按比例缩放值与某个参考按比例缩放值之间的变化。
根据本发明的方面,逆量化单元136可以在解量化期间应用量化按比例缩放值。举例来说,逆量化单元136可以首先识别用于对给定变换系数进行解量化的QP。在应用与选定QP相关联的量化器步长之前,逆量化单元136可以对量化器步长应用量化按比例缩放值。量化按比例缩放值可以将量化器步长增加(或减少)成小于被索引到下一个较高或较低QP的下一个量化器步长(例如,与整数QP相关联)。
此外,根据本发明的方面,逆量化单元136可以接收对是否已对特定视频数据块或切片应用量化按比例缩放值的指示。举例来说,逆量化单元136可以在切片标头中接收指示在切片的解量化期间是否应用量化按比例缩放值的旗标。在另一实例中,逆量化单元136可以在LCU或CU标头中接收指示在LCU或CU的块的解量化期间是否应用量化按比例缩放值的旗标。在使用指示按比例缩放值的旗标的实例中,还可用信号表示按比例缩放值。在其它例子中,可以在解码器处确定按比例缩放值。
根据本发明的其它方面,逆量化单元136可以识别用于对视频数据块进行解量化的量化粒度。逆量化单元136可以在切片等级或块等级(例如,LCU等级)上识别量化粒度。举例来说,接收到的切片标头可以含有指明QP粒度的一个或一个以上语法元素。语法元素可以直接指明QP粒度,或者可以是指向几个预定义的QP粒度(例如,如上文所描述的三个粒度实例中所描述)中的一者的索引。
在于切片标头中用信号表示QP粒度的实例中,逆量化单元136可以接收另一旗标,其指示QP粒度是否在所述切片内自适应。举例来说,逆量化单元136可以接收关于QP粒度是否从切片内的一个LCU到另一LCU变化的指示。如果用信号表示了自适应粒度,则切片指针可以指示用于所述切片的最大可允许的粒度。
在启用了切片内的自适应粒度的一实例中,逆量化单元136可以经由接收到的语法元素在LCU等级上接收QP的指示。举例来说,语法元素可以识别用于所述LCU的QP粒度,类似于上文所描述的切片标头中的信令。LCU语法元素的信令可以使用由相邻语法元素(用因果次序)的值组成的上下文(例如,用于熵译码)。
在接收到的位流包含ΔQP的指示的实例中,逆量化单元136可以使用如上文相对于视频编码器20(图2)的量化单元54所描述的类似步骤执行QP预测。举例来说,如果含有当前块的LCU具有高QP粒度,并且QP预测值具有较高QP粒度,则逆量化单元136可以基于ΔQP和QP预测值的组合来确定用于对当前块进行逆量化的QP。如果含有当前块的LCU具有低QP粒度,并且QP预测值具有较高QP粒度(或反之亦然),则逆量化单元136可以转换QP中的一者或两者,使得QP具有相同QP粒度。逆量化单元136可以接着基于ΔQP和QP预测值的组合来确定用于对块进行逆量化的实际QP。
在一实例中,假设在相对高的粒度上执行用于产生接收到的ΔQP的QP预测。在这个实例中,如果含有目前正被解码的块的LCU具有高QP粒度,则逆量化单元136可以将接收到的ΔQP值加到QP预测值以获得用于当前块的QP值。如果含有目前正被译码的块的LCU具有低QP粒度,则逆量化单元136可以使用前向映射函数将QP预测转换成低粒度。逆量化单元136可以接着将接收到的ΔQP加到低粒度QP预测以获得用于当前块的QP值。
在另一实例中,假设在相对低的粒度上执行用于产生接收到的ΔQP的QP预测。在这个实例中,如果含有目前正被解码的块的LCU具有低QP粒度,则逆量化单元136可以将ΔQP加到QP预测值以获得用于当前块的QP值。如果含有当前块的LCU具有较高QP粒度,则逆量化单元136可以应用逆向映射函数以将预测的QP值转换成较高QP粒度。逆量化单元136可以接着将ΔQP加到高粒度QP预测值以获得用于当前块的QP。在其它实例中,逆量化单元136可以将ΔQP加到低粒度QP预测值以形成用于当前块的低粒度QP。在此些实例中,还可通过逆量化单元136对额外语法元素进行解码以将低粒度QP映射到正确的高粒度QP。
在一些例子中,可以组合一个以上参考QP(例如,可以对多个参考QP求平均值)。在这些例子中,可以执行类似的映射技术以在组合参考QP之前使所有参考QP符合相同粒度。
逆变换处理单元138对变换系数应用逆变换,例如逆DCT、逆整数变换或概念上类似的逆变换过程,以便产生像素域中的残余块。运动补偿单元132产生经运动补偿的块,可能执行基于内插滤波器的内插。待用于具有子像素精度的运动估计的内插滤波器的识别符可包含在语法元素中。运动补偿单元132可使用如由视频编码器20在视频块的编码期间所使用的内插滤波器来计算参考块的子整数像素的内插值。运动补偿单元132可根据所接收的语法信息来确定由视频编码器20使用的内插滤波器且使用所述内插滤波器来产生预测性块。
运动补偿单元132使用一些语法信息来确定用于对经编码视频序列的图片进行编码的宏块的大小,描述如何分割经编码视频序列的图片的每一宏块的分区信息,指示如何对每一分区进行编码的模式,用于每一经帧间编码的宏块或分区的一个或一个以上参考图片(或列表),和对经编码视频序列进行解码的其它信息。
求和器140将残余块与由运动补偿单元132或帧内预测单元产生的对应预测块求和以形成经解码块。如果需要的话,还可应用去块滤波器以对经解码块进行滤波,以便移除成块假象。随后将经解码视频块存储在参考图片存储器142中,参考图片存储器142提供用于后续运动补偿的参考块且还产生经解码视频用于呈现于显示装置(例如图1的显示装置32)上。
图4A和4B是图解说明实例四叉树150和对应最大译码单元172的概念图。图4A描绘实例四叉树150,其包含以分级方式布置的节点。举例来说,四叉树150可以与根据所提议的HEVC标准的树块相关联。例如四叉树150等四叉树中的每一节点可以是没有子节点或具有四个子节点的叶节点。在图4A的实例中,四叉树150包含根节点152。根节点152具有四个子节点,包含叶节点156A-156C(叶节点156)和节点154。因为节点154不是叶节点,所以节点154包含四个子节点,在此实例中,这四个子节点是叶节点158A-158D(叶节点158)。
在此实例中,四叉树150可包含描述对应最大译码单元(LCU)(例如LCU172)的特性的数据。举例来说,四叉树150通过其结构可以描述LCU分裂成子CU。假设LCU172具有2Nx2N的大小。在此实例中,LCU172具有四个子CU176A-176C(子CU176)和174,其中的每一者大小为NxN。子CU174进一步分裂成四个子CU178A-178D(子CU178),其中的每一者大小为N/2xN/2。在此实例中,四叉树150的结构对应于LCU172的分裂。也就是说,根节点152对应于LCU172,叶节点156对应于子CU176,节点154对应于子CU174,并且叶节点158对应于子CU178。
四叉树150的节点的数据可以描述对应于节点的CU是否分裂。如果CU分裂,那么四叉树150中可能存在四个额外节点。在一些实例中,四叉树的节点可以类似于以下伪码实施:
split_flag值可以是表示对应于当前节点的CU是否分裂的一位值。如果CU未分裂,则split_flag值可以是“0”,而如果CU分裂,则split_flag值可以是“1”。关于四叉树150的实例,分裂旗标值的阵列可以是101000000。
在一些实例中,子CU176和子CU178中的每一者可以使用相同帧内预测模式经帧内预测编码。所以,视频编码器20可以在根节点152中提供帧内预测模式的指示。
虽然图4A图解说明CU四叉树的实例,但是应理解可以对叶节点CU的TU应用类似的四叉树。也就是说,叶节点CU可包含描述CU的TU的分割的TU四叉树。TU四叉树可以总体上类似于CU四叉树,但TU四叉树可以单独地用信号表示CU的TU的帧内预测模式除外。
根据本发明的方面,视频译码器(例如视频编码器20或视频解码器30)可以在块等级(例如LCU172的LCU等级)上应用QP。举例来说,视频编码器20可以确定和用信号表示用于LCU172的量化按比例缩放值。在这个实例中,视频编码器20可以在LCU172的标头中提供量化按比例缩放值的指示,这个值接着被应用于量化器步长以用于对与LCU172相关联的变换系数进行量化。视频解码器30可以接收所述指示并且执行与视频编码器20相同的量化按比例缩放。
根据本发明的方面,视频编码器20还可预测量化按比例缩放值。举例来说,视频编码器20可以识别用于当前LCU(例如LCU172)的量化按比例缩放值与用于某个参考LCU的量化按比例缩放值之间的变化。视频编码器20可以接着用信号表示用于位流中的当前块的Δ量化按比例缩放值。在一个实例中,视频编码器20可以使用用于经先前译码的LCU的量化按比例缩放值作为参考值来产生Δ量化按比例缩放值。在另一实例中,视频编码器20可以使用针对当前LCU所属的切片识别的量化按比例缩放值作为参考值产生Δ量化按比例缩放值。视频解码器30可以接收Δ量化按比例缩放值,并且用相同方式确定量化按比例缩放值。在一些实例中,视频编码器20可以提供关于在哪个位置检索参考按比例缩放值的指示。在其它实例中,视频编码器20和视频解码器30可经配置以从相同位置检索参考按比例缩放值。
根据本发明的其它方面,视频译码器(例如视频编码器20或视频解码器30)可以在最大译码单元(LCU)等级上识别量化粒度。也就是说,与LCU172相关联的接收到的LCU标头可以含有指定用于LCU172的一个或一个以上块的QP粒度的一个或一个以上语法元素。语法元素可包含指明实际QP粒度的索引,或可包含对于QP粒度的预定义表的指针。
虽然相对于LCU172描述,但是应理解在其它实例中,可以在另一等级(例如上文所描述的切片等级)上执行相对于图4A和4B描述的量化技术。
虽然图5和6的技术总体上被描述为由视频译码器执行,但是应理解,在一些实例中,图5和6的技术可以如上文所描述由视频编码器20(图1和2)或视频解码器(图1和3)执行。在其它实例中,图5和6的技术可以通过多种其它处理器、处理单元、基于硬件的译码单元(例如编码器/解码器(编解码器))及类似装置执行。
图5是图解说明用于通过视频译码装置(视频译码器,例如视频编码器20和/或视频解码器30)执行量化的技术的流程图。在图5的实例中,视频译码器可以确定用于对与视频数据块相关联的变换系数进行译码的QP,所述QP被索引到特定量化器步长(200)。举例来说,如上文所描述,视频译码器可以根据被索引到量化器步长的QP的预定义范围来调整应用于变换系数的量化量。
在量化(或逆量化)期间应用量化器步长之前,视频译码器可以确定用于对量化器步长进行按比例缩放的量化按比例缩放值(202)。也就是说,视频编码器(例如视频编码器20)可以确定量化器步长以实现某一位速率。或者,在一些实例中,视频解码器(例如视频解码器30)可以根据一个或一个以上接收到的语法元素(例如,切片标头中的语法元素、LCU信息、CU或CU群组的信息或类似信息)确定量化器步长。根据本发明的一些方面,可以基于Δ按比例缩放值与参考按比例缩放值之间的差来确定量化按比例缩放值。
视频译码器可以接着对量化器步长应用按比例缩放值(204)。以此方式,视频译码器可以将量化器步长按比例缩放成在索引到全部QP值的量化器步长之间的值。视频译码器可以使用按比例缩放的量化器步长对变换系数进行译码(206)。
举例来说,相对于视频编码器(例如视频编码器20),视频编码器可以接收与所述块相关联的变换系数。视频编码器可以接着在变换系数的量化期间应用按比例缩放的量化器步长。视频编码器还可例如在切片标头中、随LCU信息、随CU信息、随CU群组、在参数集中或类似位置提供量化器按比例缩放值的指示。在一些实例中,视频编码器可以使用Δ量化器按比例缩放值提供量化器按比例缩放值的指示。
相对于视频解码器(例如视频解码器30),视频解码器可以接收与视频数据块相关联的经量化变换系数和对所述经量化变换系数进行熵解码。视频解码器还可接收对用于所述块或所述块所属的切片的量化器按比例缩放值(或Δ量化器按比例缩放值)的指示。视频解码器可以通过在变换系数的逆量化期间应用按比例缩放的量化器步长对变换系数进行译码。
图5中展示的实例的步骤不一定需要用图5中展示的次序执行,并且可以执行较少、额外或替代的步骤。
图6是图解说明用于通过视频译码装置(视频译码器,例如视频编码器20和/或视频解码器30)执行量化的技术的流程图。在图6的实例中,视频译码器可以在第一量化粒度与第二不同量化粒度之间进行选择(220)。如上文所示,量化粒度(可被称为QP粒度)可以总体上指代预定义量化量可以细分的程度。举例来说,视频译码器可以使用被索引到量化器步长的一个范围的QP对变换系数进行量化。所以,QP(和其相关联量化器步长)限定可以应用于变换系数的量化总量的界限。在这个实例中,量化粒度可以指代全部量化细分和用QP值索引的程度。
为了选择量化粒度,举例来说,视频编码器(例如视频编码器20)可以选择实现某一位速率的量化粒度。举例来说,视频编码器可以针对图片的相对复杂的区域选择较高量化粒度,或者可以针对图片的需要较少量化控制的区域选择较低量化粒度。或者,在一些实例中,视频解码器(例如视频解码器30)可以根据一个或一个以上接收到的语法元素(例如,切片标头中的语法元素、LCU信息、CU的信息或CU群组的信息或类似信息)确定量化粒度。
在一些实例中,视频译码器还可确定与参考块的QP相关联的量化粒度(222)。举例来说,在一些例子中,视频译码器可以确定ΔQP。在这些例子中,与参考块相关联的QP的量化粒度可能不与当前块的量化粒度匹配。所以,视频译码器可以确定选定量化粒度(用于对当前块进行译码)是否与参考QP的量化粒度匹配(224)。
如果量化粒度不匹配(步骤224的“否”分支),则视频译码器可以将参考QP的量化粒度映射成选定量化粒度(或反之亦然)(226)。此外,在使用一个以上参考QP的例子中,视频译码器可以将所有参考QP的量化粒度映射成相同量化粒度。在一个实例中,视频译码器可以在高量化粒度上维持所有QP。如果用于QP预测的特定块具有第一量化粒度,则视频译码器可以使用预定映射函数将用于预测性块的QP转换成第二量化粒度。视频译码器可能接着能够在第二量化粒度上执行QP预测。另一方面,如果视频译码器在第一粒度上维持QP,则视频译码器可以使用预定映射函数将用于预测性块的QP转换成第一量化粒度。视频译码器可能接着能够在第一QP粒度上执行QP预测。
视频译码器可以接着使用所述选定粒度对变换系数进行译码(228)。如果量化粒度的确匹配(步骤224的“是”分支),则视频译码器可以不执行上文所描述的映射,并且可以直接前进到步骤228。在任何情况下,为了对变换系数进行译码,相对于视频编码器(例如视频编码器20),视频编码器可以接收与所述块相关联的变换系数。视频编码器可以接着确定具有所述选定量化粒度的变换系数进行量化的QP,并且使用所述确定的QP对变换系数进行量化。并非用信号表示用于对变换系数进行量化的实际QP,视频编码器可以确定实际QP与参考QP(在步骤222中识别)之间的ΔQP。视频编码器可以接着基于参考QP与用于对变换系数进行量化的实际QP之间的差来确定和用信号表示ΔQP。此外,视频编码器可以提供量化粒度的指示(例如,在切片标头中,随LCU信息,随CU信息,随CU群组,或经编码位流中的类似者)。
相对于视频解码器(例如视频解码器30),为了对变换系数进行译码,视频解码器可以接收经量化变换系数和对经量化变换系数进行熵解码。视频解码器可以确定和应用具有所述选定量化粒度的QP用于对经量化变换系数进行逆量化以产生变换系数。在一些实例中,视频解码器可以接收用于所述块的ΔQP。在此些实例中,视频译码器可以基于接收到的ΔQP与参考QP的组合来确定实际QP(具有所述选定粒度)。视频解码器可以接着使用所述确定的实际QP对经量化变换系数进行逆量化。
虽然图6的实例是相对于两个量化粒度描述的,但是应理解,所述技术更一般化地适用于两个以上量化粒度(包含6和12之外的量化粒度)。此外,图6中展示的实例的步骤不一定需要用图6中展示的次序执行,并且可以执行较少、额外或替代的步骤。在不使用自适应量化(使用ΔQP)的实例中,可能不需要在步骤222-226中执行的映射。
应理解,取决于实例,本文中的任何所描述的方法的某些动作或事件可以用不同顺序执行、可以添加、合并或全部省略(例如,实践所述方法并不需要所有的所描述动作或事件)。此外,在某些实施例中,可同时(例如,通过多线程处理、中断处理或多个处理器)而非顺序地执行动作或事件。此外,虽然出于清晰的目的将本发明的某些方面描述为通过单个模块或单元(例如,例如量化单元54(图2)或逆量化单元136(图3))执行,但是应理解,本发明的技术可以通过与视频译码器相关联的单元或模块的组合执行。
在一个或一个以上实例中,所描述功能可以用硬件、软件、固件或其任何组合来实施。如果用软件实施,则所述功能可以作为一个或一个以上指令或代码在计算机可读媒体上存储或传输,并且由基于硬件的处理单元执行。计算机可读媒体可包含计算机可读存储媒体,其对应于有形媒体,例如数据存储媒体,或包含任何促进将计算机程序从一处传送到另一处的媒体(例如,根据一种通信协议)的通信媒体。
以此方式,计算机可读媒体总体上可以对应于(1)有形计算机可读存储媒体,其是非暂时的,或(2)通信媒体,例如信号或载波。数据存储媒体可以是可由一个或一个以上计算机或一个或一个以上处理器存取以检索用于实施本发明中描述的技术的指令、代码和/或数据结构的任何可用的媒体。计算机程序产品可包含计算机可读媒体。
借助于实例而非限制,此类计算机可读存储媒体可包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁性存储装置、快闪存储器或任何其它可用来存储指令或数据结构的形式的期望程序代码并且可由计算机存取的媒体。而且,可恰当地将任何连接称作计算机可读媒体。举例来说,如果使用同轴电缆、光纤电缆、双绞线、数字订户线(DSL)或例如红外线、无线电和微波的无线技术从网站、服务器或其它远程源传输软件,则同轴电缆、光纤电缆、双绞线、DSL或例如红外线、无线电和微波的无线技术包含于媒体的定义中。
但是,应理解,所述计算机可读存储媒体和数据存储媒体并不包含连接、载波、信号或其它瞬时媒体,而是实际上针对于非瞬时有形存储媒体。如本文中所使用,磁盘和光盘包含压缩光盘(CD)、激光光盘、光学光盘、数字多功能光盘(DVD)、软磁盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘使用激光光学地复制数据。上文的组合也应包含在计算机可读媒体的范围内。
可由例如一个或一个以上数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(FPGA)或其它等效集成或离散逻辑电路等一个或一个以上处理器来执行指令。因此,如本文中所使用的术语“处理器”可指上述结构或适合于实施本文中所描述的技术的任一其它结构中的任一者。另外,在一些方面中,本文所述的功能性可以在经配置用于编码和解码的专用硬件和/或软件模块内提供,或者并入在组合编解码器中。并且,可将所述技术完全实施于一个或一个以上电路或逻辑元件中。
本发明的技术可以在广泛多种装置或设备中实施,包含无线手持机、集成电路(IC)或一组IC(例如,芯片组)。本发明中描述各种组件、模块或单元是为了强调经配置以执行所揭示的技术的装置的功能方面,但未必需要通过不同硬件单元实现。实际上,如上文所描述,各种单元可以配合合适的软件和/或固件组合在一个编解码器硬件单元中,或者通过互操作硬件单元的集合来提供,所述硬件单元包含如上文所描述的一个或一个以上处理器。
已描述了本发明的各个方面。这些和其它方面均处于所附权利要求书的范围内。

Claims (15)

1.一种对视频数据进行译码的方法,所述方法包括:
在至少第一量化粒度与不同于所述第一量化粒度的第二量化粒度之间进行选择,其中所述第一量化粒度与量化参数QP递增一的量化步长增量的第一量相对应,且其中所述第二量化粒度与QP递增一的量化步长增量的第二量相对应,所述第二量不同于所述第一量;以及
使用选定量化粒度对与残余视频数据相关联的一个或多个变换系数进行译码;
其中对所述一个或多个变换系数进行译码包括确定用于所述变换系数的ΔQP,其中确定所述ΔQP包括:
当参考QP具有与实际QP相同的量化粒度时,确定所述实际QP与所述参考QP之间的差;以及
当所述参考QP具有与所述实际QP不同的量化粒度时,将所述参考QP的所述量化粒度映射成所述实际QP的所述量化粒度,并且确定所述实际QP与所述映射的参考QP之间的差。
2.根据权利要求1所述的方法,其中所述第一量化粒度索引到量化参数QP的第一数目,且其中所述第二量化粒度索引到QP的第二数目,所述第二数目不同于所述第一数目,其中所述QP的第二数目比所述QP的第一数目多。
3.根据权利要求2所述的方法,其中所述QP的第一数目是52并且所述QP的第二数目是104。
4.根据权利要求1所述的方法,其中在至少所述第一量化粒度与所述第二量化粒度之间进行选择包括在块等级上在所述第一量化粒度与所述第二量化粒度之间进行选择。
5.根据权利要求1所述的方法,其中对所述一个或多个变换系数进行译码包括对所述一个或多个变换系数进行编码,并且其中对所述一个或多个变换系数进行编码包括:
确定具有所述选定量化粒度的QP;
对所述一个或多个变换系数进行量化以使用所述确定的QP产生一个或多个经量化变换系数;以及
产生位流使其包含所述一个或多个经量化变换系数和所述量化粒度的指示。
6.根据权利要求5所述的方法,其中产生所述位流包括在与最大经译码单元相关联的切片标头和语法元素中的一者中包含所述量化粒度的指示。
7.根据权利要求1所述的方法,其中对所述一个或多个变换系数进行译码包括对所述一个或多个变换系数进行解码,并且其中对所述一个或多个变换系数进行解码包括:
确定具有所述选定量化粒度的QP;以及
使用所述确定的QP对所述一个或多个变换系数进行逆量化以产生一个或多个变换系数。
8.根据权利要求7所述的方法,其中在所述至少第一和第二量化粒度之间进行选择包括对来自与最大经译码单元相关联的切片标头和语法元素中的一者的所述至少第一和第二量化粒度的指示进行解码。
9.一种用于对视频数据进行译码的设备,所述设备包括:
用于在至少第一量化粒度与不同于所述第一量化粒度的第二量化粒度之间进行选择的装置,其中所述第一量化粒度与量化参数QP递增一的量化步长增量的第一量相对应,且其中所述第二量化粒度与QP递增一的量化步长增量的第二量相对应,所述第二量不同于所述第一量;以及
用于使用选定量化粒度对与残余视频数据相关联的一个或多个变换系数进行译码的装置;
其中用于译码的装置进一步包括用于确定用于所述变换系数的ΔQP的装置,其中用于确定所述ΔQP的装置包括:
用于当参考QP具有与实际QP相同的量化粒度时,确定所述实际QP与所述参考QP之间的差的装置;以及
用于当所述参考QP具有与所述实际QP不同的量化粒度时,将所述参考QP的所述量化粒度映射成所述实际QP的所述量化粒度以产生映射的参考QP,并且确定所述实际QP与所述映射的参考QP之间的差的装置。
10.根据权利要求9所述的设备,其中所述第一量化粒度索引到量化参数QP的第一数目,且其中所述第二量化粒度索引到QP的第二数目,所述第二数目不同于所述第一数目,其中所述QP的第二数目比所述QP的第一数目多。
11.根据权利要求10所述的设备,其中所述QP的第一数目是52并且所述QP的第二数目是104。
12.根据权利要求9所述的设备,其中在至少所述第一量化粒度与所述第二量化粒度之间进行选择包括在块等级上在所述第一量化粒度与所述第二量化粒度之间进行选择。
13.根据权利要求9所述的设备,其中对所述一个或多个变换系数进行译码包括对所述一个或多个变换系数进行编码,并且其中对所述一个或多个变换系数进行编码包括:
确定具有所述选定量化粒度的QP;
对所述一个或多个变换系数进行量化以使用所述确定的QP产生一个或多个经量化变换系数;以及
产生位流使其包含所述一个或多个经量化变换系数和所述量化粒度的指示。
14.根据权利要求13所述的设备,其中产生所述位流包括在与最大经译码单元相关联的切片标头和语法元素中的一者中包含所述量化粒度的指示。
15.一种上面存储有指令的非暂时计算机可读存储媒体,所述指令在被执行时致使一个或多个处理器执行权利要求1-8中任一者所述的方法。
CN201280031325.5A 2011-06-25 2012-06-25 视频译码中的量化 Expired - Fee Related CN103621082B (zh)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
US201161501213P 2011-06-25 2011-06-25
US61/501,213 2011-06-25
US201161502751P 2011-06-29 2011-06-29
US61/502,751 2011-06-29
US201161546450P 2011-10-12 2011-10-12
US61/546,450 2011-10-12
US201161546723P 2011-10-13 2011-10-13
US61/546,723 2011-10-13
US13/531,106 US9854275B2 (en) 2011-06-25 2012-06-22 Quantization in video coding
US13/531,106 2012-06-22
PCT/US2012/044031 WO2013003284A1 (en) 2011-06-25 2012-06-25 Quantization in video coding

Publications (2)

Publication Number Publication Date
CN103621082A CN103621082A (zh) 2014-03-05
CN103621082B true CN103621082B (zh) 2017-11-28

Family

ID=46397672

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280031325.5A Expired - Fee Related CN103621082B (zh) 2011-06-25 2012-06-25 视频译码中的量化

Country Status (6)

Country Link
US (1) US9854275B2 (zh)
EP (1) EP2724533B1 (zh)
JP (3) JP5985623B2 (zh)
KR (1) KR101608602B1 (zh)
CN (1) CN103621082B (zh)
WO (1) WO2013003284A1 (zh)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012118359A2 (ko) 2011-03-03 2012-09-07 한국전자통신연구원 색차 성분 양자화 매개 변수 결정 방법 및 이러한 방법을 사용하는 장치
US9363509B2 (en) 2011-03-03 2016-06-07 Electronics And Telecommunications Research Institute Method for determining color difference component quantization parameter and device using the method
EP2866449B1 (en) 2011-03-09 2018-12-12 Nec Corporation Video decoding device, video decoding method and video decoding program
US20140241422A1 (en) * 2011-06-28 2014-08-28 Samsung Electronics Co., Ltd. Method and apparatus for image encoding and decoding using adaptive quantization parameter differential
US9948938B2 (en) * 2011-07-21 2018-04-17 Texas Instruments Incorporated Methods and systems for chroma residual data prediction
AU2015261608B2 (en) * 2011-11-04 2017-08-10 Gensquare Llc Apparatus of decoding video data
KR20130049526A (ko) 2011-11-04 2013-05-14 오수미 복원 블록 생성 방법
JP5828967B2 (ja) * 2012-01-17 2015-12-09 インフォブリッジ ピーティーイー. エルティーディー. エッジオフセットを適用する方法
GB2501535A (en) * 2012-04-26 2013-10-30 Sony Corp Chrominance Processing in High Efficiency Video Codecs
US9521410B2 (en) 2012-04-26 2016-12-13 Qualcomm Incorporated Quantization parameter (QP) coding in video coding
TWI592011B (zh) * 2012-06-29 2017-07-11 Sony Corp Image processing device and method
US9414054B2 (en) 2012-07-02 2016-08-09 Microsoft Technology Licensing, Llc Control and use of chroma quantization parameter values
CN115052159A (zh) 2012-07-02 2022-09-13 韩国电子通信研究院 视频编码/解码方法和非暂时性计算机可读记录介质
US9591302B2 (en) 2012-07-02 2017-03-07 Microsoft Technology Licensing, Llc Use of chroma quantization parameter offsets in deblocking
US9510019B2 (en) 2012-08-09 2016-11-29 Google Inc. Two-step quantization and coding method and apparatus
US9253483B2 (en) * 2012-09-25 2016-02-02 Google Technology Holdings LLC Signaling of scaling list
US10812829B2 (en) * 2012-10-03 2020-10-20 Avago Technologies International Sales Pte. Limited 2D block image encoding
KR102161741B1 (ko) * 2013-05-02 2020-10-06 삼성전자주식회사 HEVC(high efficiency video coding)에서 코딩 유닛에 대한 양자화 파라미터를 변화시키는 방법과 장치, 및 시스템
EP2843949B1 (en) * 2013-06-28 2020-04-29 Velos Media International Limited Methods and devices for emulating low-fidelity coding in a high-fidelity coder
US10440365B2 (en) 2013-06-28 2019-10-08 Velos Media, Llc Methods and devices for emulating low-fidelity coding in a high-fidelity coder
WO2015006245A1 (en) * 2013-07-08 2015-01-15 Sony Corporation Base color merging for multi-stage base color and index map (mbcim) for rext
US9510002B2 (en) 2013-09-09 2016-11-29 Apple Inc. Chroma quantization in video coding
GB2518823A (en) 2013-09-25 2015-04-08 Sony Corp Data encoding and decoding
JP2015173312A (ja) * 2014-03-11 2015-10-01 ソニー株式会社 画像符号化装置および方法、並びに画像復号装置および方法
US10979705B2 (en) * 2014-08-08 2021-04-13 Qualcomm Incorporated Method for video coding with spatial prediction mode for multi-mode video coding
US10136133B2 (en) * 2014-11-11 2018-11-20 Dolby Laboratories Licensing Corporation Rate control adaptation for high-dynamic range images
EP3259848A4 (en) 2015-04-10 2018-10-24 Red.Com, Llc Video camera with rate control video compression
JP6700798B2 (ja) * 2016-01-13 2020-05-27 キヤノン株式会社 撮像装置及びその制御方法
FR3047379A1 (fr) * 2016-01-29 2017-08-04 Orange Procede de codage et decodage de donnees, dispositif de codage et decodage de donnees et programmes d'ordinateur correspondants
EP3414901A4 (en) * 2016-02-08 2018-12-26 Sharp Kabushiki Kaisha Systems and methods for transform coefficient coding
US10425642B1 (en) * 2016-02-11 2019-09-24 Amazon Technologies, Inc. Noisy media content encoding
US10244266B1 (en) 2016-02-11 2019-03-26 Amazon Technologies, Inc. Noisy media content encoding
WO2017151877A1 (en) 2016-03-02 2017-09-08 MatrixView, Inc. Apparatus and method to improve image or video quality or encoding performance by enhancing discrete cosine transform coefficients
US20180048907A1 (en) * 2016-08-11 2018-02-15 Qualcomm Incorporated Video coding tools for in-loop sample processing
GB2553557B (en) 2016-09-08 2022-04-20 V Nova Int Ltd Data processing apparatuses, methods, computer programs and computer-readable media
EP3324628B1 (en) * 2016-11-18 2021-12-29 Axis AB Method and encoder system for encoding video
US20180176582A1 (en) * 2016-12-21 2018-06-21 Qualcomm Incorporated Low-complexity sign prediction for video coding
JP7313330B2 (ja) 2017-07-05 2023-07-24 レッド.コム,エルエルシー 電子機器でのビデオ画像データ処理
WO2019009776A1 (en) * 2017-07-05 2019-01-10 Telefonaktiebolaget Lm Ericsson (Publ) DECODING VIDEO SAMPLE BLOCK
EP3652944B1 (en) 2017-07-10 2022-08-31 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Bit-plane coding
WO2019021853A1 (ja) * 2017-07-28 2019-01-31 ソニーセミコンダクタソリューションズ株式会社 画像処理装置および方法
US10706492B2 (en) * 2017-09-05 2020-07-07 Texas Instruments Incorporated Image compression/decompression in a computer vision system
KR102242675B1 (ko) * 2017-11-13 2021-04-22 한국전자통신연구원 양자화 방법 및 장치
US10827173B2 (en) * 2017-11-13 2020-11-03 Electronics And Telecommunications Research Institute Method and apparatus for quantization
FR3073999B1 (fr) * 2017-11-23 2024-02-09 Ateme Compression intelligente de contenus video graines
US11546602B2 (en) 2018-08-24 2023-01-03 Samsung Electronics Co., Ltd. Method and apparatus for image encoding, and method and apparatus for image decoding
KR20210061360A (ko) * 2018-10-18 2021-05-27 삼성전자주식회사 엔트로피 부호화/복호화 방법 및 장치
CN109510984B (zh) * 2018-10-26 2021-02-05 和宇健康科技股份有限公司 一种压缩编码量化方法
US11399180B1 (en) * 2019-04-09 2022-07-26 Apple Inc. Video encoder with quantization control
US11496745B2 (en) * 2019-06-24 2022-11-08 Qualcomm Incorporated Binarization in transform skip residual coding
US20220272342A1 (en) * 2019-07-05 2022-08-25 V-Nova International Limited Quantization of residuals in video coding
CN114762335B (zh) * 2019-10-05 2023-10-31 Lg电子株式会社 基于变换跳过和调色板编码相关数据的图像或视频编码
US11979572B2 (en) * 2020-06-22 2024-05-07 Apple Inc. Adaptive quantizer design for video coding
US11924428B2 (en) 2020-06-24 2024-03-05 Qualcomm Incorporated Scale factor for quantization parameter values in geometry-based point cloud compression
US11490122B2 (en) * 2020-09-24 2022-11-01 Tencent America LLC Method and apparatus for video coding
US11743459B2 (en) 2020-09-29 2023-08-29 Qualcomm Incorporated Filtering process for video coding

Family Cites Families (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269219B1 (en) * 1997-02-14 2007-09-11 At&T Corp. Non-linear quantizer for video coding
JP4110345B2 (ja) 1999-05-18 2008-07-02 ソニー株式会社 画像圧縮装置および方法、並びにプログラム格納媒体
US20050190836A1 (en) 2004-01-30 2005-09-01 Jiuhuai Lu Process for maximizing the effectiveness of quantization matrices in video codec systems
EP1564997A1 (en) 2004-02-12 2005-08-17 Matsushita Electric Industrial Co., Ltd. Encoding and decoding of video images based on a quantization with an adaptive dead-zone size
US20050201629A1 (en) 2004-03-09 2005-09-15 Nokia Corporation Method and system for scalable binarization of video data
US8031768B2 (en) 2004-12-15 2011-10-04 Maxim Integrated Products, Inc. System and method for performing optimized quantization via quantization re-scaling
KR20070038396A (ko) 2005-10-05 2007-04-10 엘지전자 주식회사 영상 신호의 인코딩 및 디코딩 방법
WO2007058515A1 (en) 2005-11-21 2007-05-24 Electronics And Telecommunications Research Institute Method and apparatus for controlling bitrate of scalable video stream
US8711925B2 (en) 2006-05-05 2014-04-29 Microsoft Corporation Flexible quantization
US8498335B2 (en) * 2007-03-26 2013-07-30 Microsoft Corporation Adaptive deadzone size adjustment in quantization
US8243797B2 (en) 2007-03-30 2012-08-14 Microsoft Corporation Regions of interest for quality adjustments
EP2136566A4 (en) 2007-04-16 2012-07-18 Toshiba Kk METHOD AND DEVICE FOR IMAGE ENCODING AND IMAGE DECODING
US8331438B2 (en) 2007-06-05 2012-12-11 Microsoft Corporation Adaptive selection of picture-level quantization parameters for predicted video pictures
KR101394153B1 (ko) * 2007-12-11 2014-05-16 삼성전자주식회사 양자화 방법 및 장치, 역양자화 방법 및 장치
US8897359B2 (en) 2008-06-03 2014-11-25 Microsoft Corporation Adaptive quantization for enhancement layer video coding
US8908763B2 (en) 2008-06-25 2014-12-09 Qualcomm Incorporated Fragmented reference in temporal compression for video coding
KR101359500B1 (ko) 2008-07-28 2014-02-11 에스케이 텔레콤주식회사 양자화/역 양자화 장치 및 방법과 그를 이용한 영상부호화/복호화 장치
US8848788B2 (en) * 2009-05-16 2014-09-30 Thomson Licensing Method and apparatus for joint quantization parameter adjustment
AU2010312983B2 (en) * 2009-10-30 2015-10-29 Sun Patent Trust Image decoding method, image coding method, image decoding apparatus, image coding apparatus, program, and integrated circuit
EP2317769A1 (en) 2009-11-02 2011-05-04 Panasonic Corporation Luminance dependent quantization
US9473792B2 (en) 2009-11-06 2016-10-18 Texas Instruments Incorporated Method and system to improve the performance of a video encoder
US20110274162A1 (en) * 2010-05-04 2011-11-10 Minhua Zhou Coding Unit Quantization Parameters in Video Coding
US8817884B2 (en) 2009-11-20 2014-08-26 Texas Instruments Incorporated Techniques for perceptual encoding of video frames
US20110255594A1 (en) * 2010-04-15 2011-10-20 Soyeb Nagori Rate Control in Video Coding
US20110268180A1 (en) * 2010-04-29 2011-11-03 Naveen Srinivasamurthy Method and System for Low Complexity Adaptive Quantization
JP4924744B2 (ja) 2010-07-22 2012-04-25 ソニー株式会社 復号装置及びその方法
US8787443B2 (en) * 2010-10-05 2014-07-22 Microsoft Corporation Content adaptive deblocking during video encoding and decoding
US20120114034A1 (en) * 2010-11-08 2012-05-10 Mediatek Inc. Method and Apparatus of Delta Quantization Parameter Processing for High Efficiency Video Coding
CA2828013C (en) * 2011-02-25 2016-07-26 Blackberry Limited Methods and devices for data compression using offset-based adaptive reconstruction levels
US20120287987A1 (en) * 2011-05-13 2012-11-15 Madhukar Budagavi Coding of Scene Changes Using Picture Dropping

Also Published As

Publication number Publication date
EP2724533B1 (en) 2017-04-05
JP5985623B2 (ja) 2016-09-06
US20130051457A1 (en) 2013-02-28
KR20140024962A (ko) 2014-03-03
WO2013003284A1 (en) 2013-01-03
JP6141355B2 (ja) 2017-06-07
EP2724533A1 (en) 2014-04-30
US9854275B2 (en) 2017-12-26
JP2014517662A (ja) 2014-07-17
CN103621082A (zh) 2014-03-05
JP2016167847A (ja) 2016-09-15
JP2015188237A (ja) 2015-10-29
KR101608602B1 (ko) 2016-04-01

Similar Documents

Publication Publication Date Title
CN103621082B (zh) 视频译码中的量化
CN104704843B (zh) 视频性质的指示
CN105393536B (zh) 使用位移向量从预测性块的帧内预测
CN103636202B (zh) 视频译码中的量化参数预测
CN105723707B (zh) 用于视频译码的色彩残差预测
CN105474645B (zh) 对视频数据进行解码的方法、对视频数据进行编码的方法、视频解码装置及视频编码装置
CN106105206B (zh) 用于使用置零系数的低复杂度正变换的系统和方法
CN105493507B (zh) 用于帧内块复制的残余预测
CN106464918B (zh) 用信号表示用于位流分区的hrd参数
CN104823449B (zh) 在视频译码中用信号表示关注区和逐渐解码刷新
CN104604224B (zh) 可缩放视频译码中的变换基底调整
CN104685875B (zh) 用于视频译码的方法、设备、计算机可读存储媒体
CN105025997B (zh) 针对位深度可缩放视频译码使用样本自适应调整的层间预测
CN104081777B (zh) 对视频数据进行编码或解码的方法、装置、设备及非暂时计算机可读媒体
CN104137546B (zh) 用信号发送用于视频译码的量化矩阵
CN104303501B (zh) 用于视频译码的量化矩阵和解块滤波器
CN104471942B (zh) 重新使用参数集用于视频译码
CN106105198B (zh) 对视频数据译码的方法、装置以及计算机可读介质
CN105103550B (zh) 用于视频编码的帧内速率控制方法和设备
CN109565599A (zh) 使用解耦树结构的视频内译码
CN104429072B (zh) 自适应差域空间和时间参考重构及平滑
CN104126301B (zh) 在视频译码中使用码簿对环路滤波器参数进行译码
CN108141608A (zh) 针对视频译码使用与位置相关的预测组合的改进视频帧内预测
CN108781296A (zh) 为视频译码中非方形块确定预测参数
CN108353167A (zh) 译码视频数据的正负号信息

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
C10 Entry into substantive examination
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: 20171128

Termination date: 20190625

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