CN111614957B - 图像或者视频数据的熵编解码的方法及熵编解码装置 - Google Patents

图像或者视频数据的熵编解码的方法及熵编解码装置 Download PDF

Info

Publication number
CN111614957B
CN111614957B CN202010312738.7A CN202010312738A CN111614957B CN 111614957 B CN111614957 B CN 111614957B CN 202010312738 A CN202010312738 A CN 202010312738A CN 111614957 B CN111614957 B CN 111614957B
Authority
CN
China
Prior art keywords
range
probability
value
values
binary
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.)
Active
Application number
CN202010312738.7A
Other languages
English (en)
Other versions
CN111614957A (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.)
MediaTek Inc
Original Assignee
MediaTek 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 MediaTek Inc filed Critical MediaTek Inc
Publication of CN111614957A publication Critical patent/CN111614957A/zh
Application granted granted Critical
Publication of CN111614957B publication Critical patent/CN111614957B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding
    • 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/13Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/423Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation characterised by memory arrangements
    • 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/189Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding
    • H04N19/196Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters
    • H04N19/198Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the adaptation method, adaptation tool or adaptation type used for the adaptive coding being specially adapted for the computation of encoding parameters, e.g. by averaging previously computed encoding parameters including smoothing of a sequence of encoding parameters, e.g. by averaging, by choice of the maximum, minimum or median value
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/20Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding
    • H04N19/21Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using video object coding with binary alpha-plane coding for video objects, e.g. context-based arithmetic encoding [CAE]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

一种图像或者视频数据的熵编解码的方法以及裝置。该方法用于图像或者视频编码器或者解码器。该方法包括:根据当前二进制位的二进制值的概率,对当前编码字符的二进制数据的该当前二进制位进行编码或者解码;以及根据该当前二进制位的该二进制值,更新用于该二进制值的概率,其中,从至少一个范围查找表中得到的取值为1值的概率范围或者取值为0值的概率范围用于编码或者解码该当前二进制位;其中,基于给定的范围区间和该二进制值的给定的概率,得到用于该给定的范围区间的概率小于范围中间值的范围、该取值为1值的概率范围或者该取值为0值的概率范围。

Description

图像或者视频数据的熵编解码的方法及熵编解码装置
分案声明
本申请是申请号为201680028276.8,发明名称为图像或者视频数据的熵编解码的方法及熵编解码装置的发明专利申请的分案申请,且上述申请整体以引用方式并入本文中。
技术领域
本发明涉及用于图像编解码和视频编解码的熵编码技术,且更具体而言,本发明涉及用于图像编解码和视频编解码的基于多表格的基于上下文自适应二进制算术编码(Context-Based Adaptive Binary Arithmetic Coder,CABAC)。
背景技术
算术编码被称为有效数据压缩方法之一,并广泛应用于编解码标准中,包括JBIG、JPEG2000、H.264/AVC和高效视频编码(High-Efficiency Video Coding,HEVC)。在H.264/AVC和HEVC测试模型版本16.0(HM-16.0)中,采用基于上下文自适应二进制算术编码(Context-Based Adaptive Binary Arithmetic Coder,CABAC)作为视频编解码系统中熵编码工具。
如图1所示,CABAC由三部分组成:二值化(binarization)单元110、上下文建模单元120和二进制算术编码单元130。在二值化步骤中,每个语法元素唯一地被映射到一个二进制串(二进制位(bin或bins))中。在上下文建模步骤中,给每个二进制位(以下简称为bin)选择一个概率模型(probabilty model)。相应的概率模型依赖于之前已编码的语法元素(syntax elements)、二进制位索引(bin indexes)和边缘信息(side information)。在二值化和上下文建模任务之后,将二进制位值(bin value)及与其相关的模型一起发送至二进制算术编码引擎(binary arithmetic coding engine)。
二进制算术编码是递归的细分区间(interval-subdividing)的过程。输出比特流是指向编码区间(coding interval)的最终概率的指针(pointer)。编码区间的概率T由范围(range)和编码区间的下限(low boundary)(在下文中用“low”表示)来指定。该范围是编码区间的可能范围。根据当前字符(symbol)是否是最大概率字符(most probable symbol,MPS)或者最小概率字符(least probable symbol,LPS),如公式(1)和(2)所示,相应地将下一编码区间更新为两个子区间中一个。
Figure GDA0003423870520000021
Figure GDA0003423870520000022
其中rangeLPS是在编码LPS时的估计范围(estimated range)。
图2示出了二进制算术编码的概念。开始时,如概率数值范围(probabilityscale)210表示,概率范围(即range0)为1,并且下限(即low0)为0。如果第一字符为MPS,概率数值范围210的较低部分中的指针可以用于发信MPS事件。range1表示用于处理下一字符的概率数值范围220。将概率数值范围220划分成分别用于MPS和LPS的两部分。如果第二字符是LPS,选择LPS1的范围(rangeLPS1)作为用于下一字符的概率数值范围230。每当编码新的字符时,相应的范围将变得更小。当范围变得太小时,范围可以重新归一化(re-normalized)处理,以形成具有更大范围的概率数值范围240。
在现代算术编码中,通常根据模型来完成概率更新。例如,在技术出版物(“Context-Based Adaptive Binary Arithmetic Coding in the H.264/AVC VideoCompression Standard”,IEEE Transactions on Circuits and Systems for VideoTechnology,Vol.13,No.7,pp.620-636,July 2003)中由Marpe等描述了一种方法,其中,使用如下公式:
pnew=(1-α)·y+α·pold (3)
在上式公式中,若当前字符为最大概率字符,则y等于0,否则y等于1。该公式提供用于最小概率字符的概率的估计值。根据下面公式获取权重α:
α=(min_prob/0.5)(1/state_number), (4)
其中,min_prob对应于CABAC的最小概率字符的最小概率,state_number对应于用于概率值估计的上下文状态的数量。
对于HEVC的CABAC,存在64个概率状态(probability states)。min_prob为0.01875,state_number为63。每个状态具有概率值,其表示选择最小概率字符的概率。通过下面递归公式,获取用于最小概率字符的64个代表性的概率值pσ∈[0.01875,0.5]:
Pσ=α·Pσ-1,σ=1,...,63,其中α=(0.01875/0.5)1/63,且P0=0.5 (5)
由下面的公式获取状态σ的LPS的范围rangeLPS的值:
rangeLPSσ=RANGE×Pσ (6)
为了降低获取LPS的范围(rangeLPS)所需的计算量,可以预先计算每个概率状态的LPS的范围rangeLPS的结果,并存储到查找表(lookup table,LUT)中。在H.264/AVC和HEVC中,如表1所示,为了减小表格尺寸,采用4列已预先计算的LPS的范围(rangeLPS)表格。该范围被划分成四段。在每段中,预先定义了每个概率状态σ(即pσ)的LPS的范围(rangeLPS)。换言之,概率状态σ的LPS的范围(rangeLPS)被量化成四个值。所选择的LPS的范围(rangeLPS)依赖于该范围所属的段(segment)。
表1
Figure GDA0003423870520000031
Figure GDA0003423870520000041
在JCTVC-F254(Alshin et al.,Multi-parameter probability up-date forCABAC,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG16 WP3 andISO/IEC JTC1/SC29/WG11,6th Meeting:Torino,IT,14-22July,2011,Document:JCTVC-F254)中,Alshin等公开了用于HEVC标准的CABAC的多参数概率更新。参数N=1/(1–α)是对之前已编码的二进制位的数量(即“窗口尺寸”)的近似测量,之前已编码的二进制位对当前二进制位有很大影响。参数N的选择决定模型的灵敏度。灵敏的系统将对实时变化快速反应。另一方面,不灵敏的模型将不会对噪声和随机错误进行反应。这两个属性是有用但却相互矛盾的。因此,Alshin等公开了用不同的αi同时计算数个值的方法:
pi_new=(1-αi)·y+αi·pi_old (7)
并使用了加权平均作为下一二进制位概率预测:
pnew=Σ(βipi_new) (8)
其中,βi是与αi相关的加权因子。
Alshin等使用了具有非乘法公式(multiplication free formula)的显式计算以用于概率更新,而不是AVC标准的CABAC中所使用的状态转换查找表(state transitionlookup table)(即m_aucNextStateMPS和m_aucNextStateLPS)来更新状态及其对应的概率。假设概率pi由从0到2k的整数Pi来表示(即pi=Pi/2k),αi由2的Mi次幂分之一来表示(即αi=1/2Mi),可以获得如下用于概率更新的非乘法公式:
Pi=(Y>>Mi)+P–(Pi>>Mi). (9)
该公式预测下一二进制位将为“1”的概率,其中若最后一个编解码二进制位是“1”,则Y=2k,若最后一个二进制位是“0”,则Y=0,并且“>>Mi”对应于向右移位Mi位的操作。
为了保持复杂度增加和性能改善之间的平衡,考虑仅由两个参数组成的用于概率估计的线性组合
P0=(Y>>4)+P0–(P0>>4), (10)
P1=(Y>>7)+P1–(P0>>7),以及 (11)
P=(P0+P1+1)>>1 (12)
对应于用于AVC CABAC的概率的浮点值总是小于或者等于1/2。若该概率超过该界限,LPS将变成MPS,以使得概率在上述的区间之内。当LPS的概率大于0.5时,需要进行MPS/LPS转换。Alshin等提出(以浮点值的形式)将概率的容许水平增加到1,以避免MPS/LPS转换。因此,获得了用于存储1的范围(RangeOne)或者0的范围(RangeZero)的一个查找表(lookup table,LUT)。
在VCEG-AZ07(Chen,et al.,“Further improvements to HMKTA-1.0”,ITU-TVideo Coding Experts Group(VCEG)meeting,Warsaw,Poland,IT,19–26June 2015,Document:VCEG-AZ07)中,Chen等提出了使用单个参数的CABAC。概率的取得方式与JCTVC-F254中相同,即使用公式(9)来获得为1或者0的概率。对于每个上下文,仅使用一个更新速度,意味着对每个上下文而言,仅使用一个N。但是,不同的上下文可以利用不同的N取值。N的范围从4到7,并且使用2比特(2-bit)变量来表示特定的上下文模型的概率更新速度。编码器侧确定该N值,并被发信在比特流中。
在JCTVC-F254和VCEG-AZ07中,1的范围(RangeOne)或者0的范围(RangeZero)的查找表是512行乘64列的表格。该查找表的输入为当前范围(current range)和当前概率(current probability)。该当前范围的有效范围为从256到510。将当前范围划分成64段,其中每段包括当前范围的4个值(例如,256至259、260至263等)。可以由以下公式获得范围的段索引(the section index of range):
rangeIdx=(range>>2)–64,或者 (13)
rangeIdx=(range>>2)&63 (14)
当前概率(即P)的有效范围从0到2k–1。在JCTVC-F254和VCEG-AZ07中,k为15。将该当前概率划分成512段,其中每段包括当前概率的64个值(例如,0到63、64到127等)。可以由以下公式获得概率的段索引(the section index of probability):
probIdx=(P>>6) (15)
通过查找表获取1的范围(RangeOne)的值,例如,
RangeOne=tableRangeOne[rangeIdx][probIdx] (16)
在1的范围查找表(tableRangeOne)中的每个值由以下公式获得:
EntryValue=Round(clip3(3,MinRange-3,MinRange*(probIdx+0.5)/M)),(17)
其中,MinRange是所获得的范围索引(rangeIdx)的最低范围值。clip3(X,Y,Z)是将Z值修剪到X至Y的范围内。Round是将该值舍入成整数。
例如,用于rangeIdx=0的范围段为256到259,范围最小值(MinRange)为256。可以由以下公式获得范围最小值(MinRange):
MinRange=256+(rangeIdx<<2) (18)
M是(probIdx+1)的最大值。例如,在JCTVC-F254和VCEG-AZ07中,M为512。表2显示了JCTVC-F254中所公开的查找表,其由范围值的64列和512个条目组成。对于每个条目,用9比特来表示该范围值。
表2
Figure GDA0003423870520000071
在H.265/HEVC视频编码标准中包含了两个环路滤波器。该两个环路滤波器为去块滤波器(deblocking filter)和样本自适应偏移(sample adaptive offset,SAO)。去块滤波器可以减少由量化错误引起的块伪像(blocky artifact)。通过将偏移值应用到已分类的样本中,样本自适应偏移可以进一步改善视频质量。在HEVC测试模型7(即HM-7)之前,也包含称为自适应环路滤波器(adaptive loop filter,ALF)的另一种滤波技术。自适应环路滤波器使用Wiener滤波技术来获取滤波系数。根据不同图像区域,对多个滤波器进行编码。这些滤波参数被编码在自适应参数集(adaptation parameter set,APS)中,并且使用编码树单元层(coding tree unit level,CTU-level)语法元素对开/关控制标志(on/offcontrol flag)进行编码。
很明显,在对自适应环路滤波器语法元素进行编码时,滤波参数是主要的比特率开销。通常,相邻编码块的纹理特征(texture characteristic)与当前编码块非常相似。因此,相邻编码块滤波器可以直接用于当前编码块,以节省比特率开销。在这种情况下,由于两个相邻块使用相同的滤波参数,该编码方法也称为滤波器合并(filter merge)。也已经公开了一种基于优先级的块滤波器合并方案。第一步骤,从M个预定义的相邻块中选择最大N个候选。第二步骤,在N个候选中选择一个滤波器,并将其滤波器索引编码成比特流。在下文中公开了一种进一步改善基于优先级的块滤波器合并方案的性能的方法。
当自适应环路滤波器中支持多个滤波器时,除了将一个图像划分为不同区域,在HM-7之前,也公开了一些基于像素或者基于块的分类方法。例如,已经公开了计算每个像素的改进的拉普拉斯求和(Sum-modified Laplacian Measure,SLM)的自适应环路滤波器技术。具有相同SLM值的像素将由一个滤波器来滤波。如图3所示,每个正方形表示一个像素,SLMn的像素由一个滤波器来滤波,其中,在本示例中,n可以是1、2或者3。此时,SLM被处理为一种像素分类规则(pixel classification rule,PCR)。对于基于块的分类方法,第一步骤与基于像素分类相似,即计算一个块内的每个像素的特征。第二步骤,根据一个块内的所有像素的特征,计算一个块的特性。
发明内容
本发明公开了一种在图像或者视频编码器或者解码器中的图像或者视频数据的熵编解码的方法及装置。根据当前二进制位的二进制值的概率,对当前编码字符的二进制数的该当前二进制位进行编码或者解码。然后根据该当前二进制位的该二进制值,更新用于该二进制值的概率,其中,从至少一个范围查找表中得到的取值为1值的概率范围或者取值为0值的概率范围用于编码或者解码该当前二进制位。其中,基于给定的范围区间和该二进制值的给定的概率,得到用于该给定的范围区间的概率小于范围中间值的范围、该取值为1值的概率范围或者该取值为0值的概率范围。
附图说明
图1例示基于上下文自适应二进制算术编码的基本结构。
图2例示二进制算术编码的概念,其中初始时,由概率数值范围所示,概率范围(即range0)为1,以及下限(即low0)为0。
图3例示每个像素的改进的拉普拉斯求和的示例,其中每个正方形表示一个像素,SLMn的像素由一个滤波器来滤波,以及在本示例中,n可以是1、2或者3。
图4例示基于表格的两参数的基于上下文的自适应二进制算术编码的示例,其中一个参数提供较快的更新速率,另一个参数提供较慢的更新速率。
图5例示根据本发明一个实施例的一种基于多表格的CABAC的实例性流程图。
图6例示根据本发明一个实施例的另一种基于多表格的CABAC的实例性流程图。
具体实施方式
以下描述为实施本发明的较佳方式。本文仅用来举例阐释本发明的基本原理,并非用以限定本发明。本发明的保护范围应当视权利要求书所界定为准。
在JCTVC-F254和VCEG-AZ07中,将每个上下文的实际概率存储到16位或者32位存储器中,而不是将概率状态索引进行存储。相对于HEVC中所使用的7位状态索引,实质上增大了实现成本。对于获取1的范围(RangeOne)或者0的范围(RangeZero)的区间,使用9位*64列*512条目(即294912位)的查找表。用于解析器的查找表的尺寸相当大。因此,在本发明中,公开了基于多表格的CABAC。通过使用公式(4)或者(19),得到一个或者多个α。一旦得到一个α,可以使用公式(20)来获得其他α。
α2=1–(1/(2N)),以及 (19)
α1=(α2)M (20)
例如,N可以为7,M可以为16。因此,α2为1–(1/128),α1为(α2)16
使用已得到的α和公式(3)或者(21)(即变形的公式(3)),也可得到LPS概率为:
pi+1=α·pi,其中p0为0.5。 (21)
用于获取如上所述的多个概率状态的多个α,在本发明中也称为多个参数或者多个模型参数。如上所示,这些概率状态对应于与LPS或者MPS概率相关的一组预定义值(aset of pre-defined values)。但是,其他参数,如在上述示例中的N和M,也可以直接或者间接用作概率模型参数。在使用公式(21)描述概率状态的形式,以及使用公式(19)和(20)描述参数的形式时,应注意,在本领域也可以使用其他等效参数形式。例如,用(1-α)、(1-α1)和(1-α2)来替代在公式(19)和(20)中α、α1和α2。可以理解,这些不同的形式是等同的,且可以交换着使用。根据本发明的一实施方式,使用至少一个查找表来更新每个多参数概率模型,其中至少一个查找表利用具有多个概率状态的单个集合作为表索引访问至少一个查找表的上下文。其中,至少一个查找表包括最小概率字符范围表格,其中最小概率字符范围表格包括用于给定的概率状态和当前范围的预设的最小概率字符范围。
根据本发明的一实施方式,根据多个参数概率模型,二进制值已更新的概率自多个新的单个概率(individual probabilities)更新而得到。例如,使用新的α和新的p,分别如表3(用于α1)和表4a-表4h(用于α2)所示,可以得到新的LPS的范围的表格以用于α1和α2
表3
Figure GDA0003423870520000111
表4a
Figure GDA0003423870520000121
Figure GDA0003423870520000131
表4b
Figure GDA0003423870520000132
Figure GDA0003423870520000141
表4c
Figure GDA0003423870520000151
Figure GDA0003423870520000161
表4d
Figure GDA0003423870520000171
Figure GDA0003423870520000181
表4e
Figure GDA0003423870520000191
Figure GDA0003423870520000201
表4f
Figure GDA0003423870520000211
Figure GDA0003423870520000221
表4g
Figure GDA0003423870520000231
Figure GDA0003423870520000241
表4h
Figure GDA0003423870520000242
Figure GDA0003423870520000251
图4示出了基于表格的两参数的基于上下文的自适应二进制算术编码的示例,其中一个参数(即对应于α1的N1)提供较快的更新速率,另一个参数(即对应于α2的N2)提供较慢的更新速率。
对于每个上下文,其具有与多个参数相关的多个概率状态。例如,对于每个上下文,其具有与两个参数相关的两个概率状态:一个用于α1和另一个用于α2。单独更新每个上下文中的状态(例如,状态a和状态b)。例如,对于编码/解码二进制位,一个状态可以被更新为LPS状态,另外一个可以被更新为MPS状态。当获取用于编码的LPS的范围(range LPS forcoding,RLPSC)时,通过表格查找,可以获得每个状态的LPS的范围。根据本发明的一实施方式,对于具有第一参数和第二参数的两参数概率模型,对于与第一参数和第二参数相关的第一状态和第二状态的、用于给定上下文的两个最大概率字符是相同的,并且至少一个查找表包括最小概率字符范围表格,则最小概率字符的范围是基于用于第一状态的第一最小概率字符范围与用于第二状态的第二最小概率字符范围的平均值而得到。根据本发明的另一实施方式,对于具有第一参数和第二参数的两参数概率模型,对于与第一参数和第二参数相关的第一状态和第二状态的、用于给定的上下文的两个最大概率字符不相同,并且,至少一个查找表包括最小概率字符范围表格,则已更新的范围最小概率字符是基于与第一状态和第二状态相关的两个最小概率字符范围中较小的最小概率字符范围和与第一状态和第二状态中具有较大的最小概率字符范围的状态相关的最大概率字符范围的平均值而得到。举例来说,如果两个状态(例如,状态a和状态b)的MPS相同,则用于编码的LPS的范围为状态a的LPS的范围(即RLPS_a)和状态b的LPS的范围(即RLPS_b)的平均值。否则,获取二进制位-0的平均值范围和二进制位-1的平均值范围。用于编码的LPS的范围是有较小值的平均范围。例如,若RLPS_a更小,则用于编码的LPS的范围等于RLPS_a与range_MPS_b的平均。若RLPS_b更小,则用于编码的LPS的范围等于RLPS_b与range_MPS_a的平均。range_MPS_x等于(range–RLPS_x),其中x对应于a或者b。使用向右移位操作可以实现值A和值B之间的平均操作,如((A+B)>>1)或者((A+B+1)>>1)。根据下表中的处理,可以获得用于编码的LPS的范围(RLPSC)、用于编码的MPS的范围(range MPS for coding,RMPSC)和MPS。
表5
Figure GDA0003423870520000261
Figure GDA0003423870520000271
所获得的用于编码的LPS的范围和用于编码的MPS的范围,可以用于HEVC CABAC,该用于编码的MPS的范围等于(range–RLPSC)。如上所示的基于表格的多参数CABAC可以充分减小查找表的尺寸。也就是说,根据本发明的一实施方式,LPS的范围的表格包括用于给定的概率状态的和已量化的当前范围的、减小表格尺寸的预设的LPS的范围。
在基于多表格的CABAC中,与用于给定上下文的多个概率状态相关的多个MPS值可以不相同或相关的多个LPS值可以不相同。如上所述,用于两个表格的示例的两个状态概率可分别具有不同的MPS值或LPS值。因此,也有可能处理为0的二进制位值和1的二进制位值,而不是处理与MPS和LPS相关的概率模型。因此,另一种方法是使用LPS表格来获取每个概率状态的1的范围(RangeOne)或者0的范围(RangeZero),其中1的范围(RangeOne)是二进制位值为1的范围值,0的范围(RangeZero)是二进制位值为0的范围值。分别通过平均这些1的范围(RangeOne)或者0的范围(RangeZero)可以获得平均的1的范围(RangeOne)或者0的范围(RangeZero)。通过如表6-表9所示的处理,可以获得用于编解码的1的范围(RangeOne forcoding,ROFC)和用于编解码的0的范围(RangeZero for coding,RZFC)。也就是说,根据本发明的一实施方式,若用于第一状态的第一MPS为1,则将与第一参数相关的第一状态的第一0值范围设置成用于第一状态的第一LPS值范围,否则设置成当前范围减去该LPS的第一范围。若用于第二状态的第二最大概率字符为1,则将与该第二参数相关的第二状态的第二0值范围设置成用于该第二状态的第二最小概率字符值范围,否则设置成当前范围减去该第二最小概率字符值范围。获得用于编解码的0值范围为第一0值范围与第二0值范围的平均值;以及获得用于编解码的1值范围为当前范围减去用于编解码的0值范围。根据本发明的另一实施方式,若用于第一状态的第一MPS为0时,则将与第一参数相关的第一状态的第一1值范围设置成用于第一状态的第一LPS值范围,否则设置成当前范围减去该第一LPS值范围;若用于第二状态的第二MPS为0时,则将与第二参数相关的第二状态的第二1值范围设置成用于第二状态的第二LPS值范围,否则设置成当前范围减去第二LPS值范围;获得用于编解码的1值范围为第一1值范围与第二1值范围的平均值;以及获得用于编解码的0值范围为当前范围减去用于编解码的1值范围。
表6
Figure GDA0003423870520000281
表7
Figure GDA0003423870520000282
表8
Figure GDA0003423870520000283
Figure GDA0003423870520000291
表9
Figure GDA0003423870520000292
所获得的用于编码的1的范围(ROFC)和用于编码的0的范围(RZFC)可以用于CABAC。如上所公开的基于表格的多参数CABAC可以充分减小查找表的尺寸。
根据本发明的一实施方式,LPS的范围的表格存储有多个LPS的范围值以用于已减小数量的多个概率状态的单个集合,且已减小数量的多个概率状态的单个集合通过均匀地保留每M个概率状态中一个概率状态来进行选择,以及M为大于1的正整数。根据本发明的另一实施方式,最小概率字符范围表格存储有多个最小概率字符范围值以用于已减小数量的多个概率状态的单个集合,且该已减小数量的多个概率状态的单个集合通过非均匀地保留多个概率状态的单个集合来进行选择。具体来说,为了进一步降低查找表的尺寸,可以向下采样(down-sampled)该查找表。例如,可以向下采样用于α1的查找表。向下采样的查找表可以是LPS转换(transition)表和/或LPS的范围表。下面显示两种向下采样方法。
均匀量化:
■通过存储0,M,2M,3M,…,以进行M:1压缩,其中M=2,4,8;
■对于LPS转换,next_LPS_state(K)=next_LPS_state(K/M)+K%M,或者除了K=0或者K=0,1之外,next_LPS_state(K)=next_LPS_state(K/M)+K%M。
非均匀量化:
■对[0,N/4-1]内的状态不进行压缩;
■对[N/4,N/2-1]内的状态进行2:1压缩;
■对[N/2,N-1]内的状态进行4:1压缩;以及
■N为512。
例如,表10示出了压缩比M=8的用于α1的LPS的范围查找表的示例。对于状态K,其LPS的范围(rangeLPS)为LUT(K/M)。
表10
Figure GDA0003423870520000301
Figure GDA0003423870520000311
由于因α1=(α2)16而使得α1与α2相关,α2的表格可以再被用于α1。α1内的状态S1等于α2内的状态S1*16。例如,α1内的状态1等于α2内的状态16,α1内的状态2等于α2内的状态32。
根据本发明一实施方式,下一LPS状态表格存储有下一LPS状态以用于已减小数量的LPS概率状态,或者下一MPS状态表存储有下一MPS状态以用于已减小数量的MPS的概率状态。
表11示出了用于α1的下一LPS状态的示例,其中该表中的“-1”表示转换至MPS,且该状态被设置为0,“-2”表示转换至MPS,且该状态被设置为1。
表11
Figure GDA0003423870520000312
Figure GDA0003423870520000321
表12示出了压缩比M等于8的用于α2的下一LPS状态的示例。对于状态K,其下一LPS状态等于(next_LPS_state(K/M)+K%M)。对于状态0,其下一LPS状态可以为-1或者-2,其中“-1”表示切换至MPS,且该状态被设置为0,“-2”表示切换至MPS,且该状态被设置为1。
表12
Figure GDA0003423870520000322
Figure GDA0003423870520000331
对于状态初始化,可以重使用HEVC所采用的初始状态推导。但是,根据本发明的基于表格的多参数CABAC,使用将HEVC中的初始状态(概率)映射到最近初始状态(概率)的查找表。表13示出了用于α1和α2的初始状态映射表的示例。
表13
Figure GDA0003423870520000332
Figure GDA0003423870520000341
在本发明中,也提出了使用用于CABAC编码的多个参数(例如,多个α)。对于每个α,其具有状态、LPS的范围(rangeLPS)的表格(或者1的范围(rangeOne)的表格或者0的范围(rangeZero)的表格)、下一MPS的表格和下一LPS的表格。其中,下一LPS的表格或者下一MPS的表格包括每个当前LPS的概率状态的下一LPS的概率状态或者每个当前MPS的概率状态的下一MPS的概率状态。根据本发明的一实施方式,多个多参数概率模型对应于使用两个参数的多个两参数概率模型,并且使用单个α值或两个α值,以获得用于每个上下文的两个参数中的至少一个。也就是说,对于每个上下文,其可以选择使用单个α值,或者两个α值。如果使用两个α值,则可以使用上述的方法。一些语法可以使用单个α值,并且一些语法可以使用两个α值。该边缘信息(例如,表示使用一个α或者两个α值的语法以及识别哪个α的信息)可以被预先定义,或者被发信在比特流中。例如,与这些语法相关的系数可以使用单个α值,其他语法可以使用两个α值。在另一示例中,系数相关的语法可以使用两个α值,以及其他语法可以使用单个α值。可以通过使用公式(4)、(19)和(20)来获得这些α值。例如,α5为1–(1/128);α1为(α5)16;α2为(α5)8;α3为(α5)4;以及α4为(α5)2。可以共享LPS的范围(rangeLPS)的表格。仅需要将用于最小α(例如,α5)的LPS的范围(rangeLPS)的表格进行存储。用于其他α的LPS的范围(rangeLPS)的表格表示最小α的LPS的范围(rangeLPS)的表格的子集。也可以预先定义用于每个α的状态数量。每个上下文存储关于哪个α的信息被使用以及当前状态。
在CABAC中,有效范围值为从256到510。对于获取LPS的范围(rangeLPS),所需的列数取决于范围的像素。例如,在表3和表4a-表4h中,该范围被划分为四段:256-319、320-383、384-447以及448-510。因此,可以分别获得每个范围段的中间值(即mid_value),如288、352、416、和480。对于每列中的第一状态(即第一条目),概率为(0.5*mid_value)。每列中的第二状态为第一状态乘以α。每列中的下一状态为前一状态乘以α。对于获得LPS的范围(rangeLPS),可以将中间值(mid_value)转变成一个值,该值等于或者大于最小范围值(例如,256、320、384和448),并且等于或者小于最大范围值(例如,319、383、447和510)。
在JCTVC-F254和VCEG-AZ07中,1的范围(RangeOne)表格覆盖从0.0至1.0的概率。但是,在硬件成本实现上查找表显得太大。该查找表是HEVC的查找表的144倍。另外,因为从范围最小值(MinRange)(公式(18))中获得1的范围(RangeOne)或者0的范围(RangeZero)的条目值,若采用向下采样的查找表,则编码效率将大幅度下降。
因此,本发明公开一种方法,以仅将从0.0至0.5的概率范围进行存储,该概率范围称为概率小于范围中间值的范围(range smaller half,rangeSH)。根据本发明的一实施方式,至少一个范围查找表仅包括用于在0.0和0.5之间的0概率范围或1概率范围的多个范围值。可以通过使用(range–rangeSH)来获得该表的另外一半的值。也就是说,在0.5和1.0之间的0概率范围或1概率范围的多个范围值由当前范围减去在0.0和0.5之间的1概率范围或者0概率范围中的多个范围值而得到。行数定义了概率的分辨率。例如,具有64行的概率小于范围中间值的范围的表格可以被设计为概率范围从0.5至0.0。每行表示用于1/64的概率范围的LPS的范围(rangeLPS)。由((range A)*(Prob B))来获取rangeSH的值。表14示出了具有4行64列的概率小于范围中间值的范围(rangeSH)的表格的示例。第一行表示在四个不同范围段内的概率从63/128至64/128的概率小于范围中间值的范围(rangeSH)。在表14中,范围A(range A)对应于范围中间值(range Mid),概率B(Prob B)对应于最大概率值(ProbMax)。由((range Mid)*(Prob Max))来获得概率小于范围中间值的范围(rangeSH)的值。
表14
Figure GDA0003423870520000361
Figure GDA0003423870520000371
Figure GDA0003423870520000381
根据本发明的一实施方式,至少一个范围查找表仅包括用于在0.0和0.5之间的0概率范围或1概率范围的多个范围值。表15示出了概率小于范围中间值的范围(rangeSH)的另一示例性的获取方法,其由((range Mid)*((Prob Max+Prob Min)/2))来获得。
表15
Figure GDA0003423870520000382
Figure GDA0003423870520000391
Figure GDA0003423870520000401
表16示出了又一示例性的概率小于范围中间值的范围(rangeSH)的值获取方法,其中由((range Mid)*((Prob Max+Prob Min)/2))来获得概率小于范围中间值的范围(rangeSH),最小值被修剪为3。在JCTVC-F254和VCEG-AZ07中,若1的概率大于0.5(例如,0.64),则意味着0的概率为0.36。将使用0.36(在表16的第18行中的46/128)来查找用于0的范围(RangeZero)。由(range–rangeZero)可以获得1的范围(RangeOne)。
表16.
Figure GDA0003423870520000411
Figure GDA0003423870520000421
Figure GDA0003423870520000431
在获得1的范围(RangeOne)(或者0的范围(RangeZero))的一个实施例中,对于k位概率(2k>P>0),使用表达式probLPS=(P>=2k-1)?(P–2k-1):(2k-1–1–P)来获得LPS的概率(probLPS)。表达式“x?y:z”表示一种逻辑操作,其中如果x为真或者不等于0,则计算结果为y的值;否则计算结果为z的值。概率的段索引(probIdx)可以得到为(probLPS>>(k-n-1)),其中概率小于范围中间值的范围(rangeSH)的表格有2n行。范围的段索引(rangeIdx)为(range>>(8–m))–(256>>m)、((range–256)>>(8–m))或者((range>>(8–m))&(2m–1)),其中概率小于范围中间值的范围(rangeSH)的表格有2m列。rangeSH由rangeSHTable[probIdx][rangeIdx]来确定。如果P等于或者大于2k-1(或者P的第k位为1),则1的范围(rangeOne)等于(range–rangeSH),且0的范围(rangeZero)等于rangeSH。否则(即P小于2k-1),1的范围(rangeOne)等于rangeSH,且0的范围(rangeZero)等于(range–rangeSH)。
在JCTVC-F254和VCEG-AZ07的示例中,k为15,LPS的概率(probLPS)由表达式probLPS=((P>=16384)?P–16384:16383–P)来确定,概率的段索引(probIdx)等于(probLPS>>8),范围的段索引(rangeIdx)等于(range>>6)&3。如果P等于或者大于16384,则1的范围(rangeOne)等于(range–rangeSH),且0的范围(rangeZero)等于rangeSH。否则(即P小于16384),1的范围(rangeOne)等于rangeSH,且0的范围(rangeZero)等于(range–rangeSH)。
注意,由于在二进制表示中(2k-1–1)均为1,(2k-1–1–P)仅对k-1比特的最低有效比特(least significant bit,LSB)进行逐位反转(bitwise inverse)。在硬件实现中,对P的第k位和P的第0至(k–1)位进行逐位异或(bitwise exclusive or,XOR),以获得LPS的概率(probLPS)。
在另一实施例中,复制概率小于范围中间值的范围(rangeSH)的表格,以降低计算复杂度。也就是说,至少一个范围查找表包括在0.0和1.0之间0概率范围或者的1概率范围的多个范围值,其中,在0.5和1.0之间的0概率范围或者1概率范围中的多个范围值映射自在0.0和0.5之间的0概率范围或者1概率范围的多个范围值。表17示出了表16的镜像表(mirrored table)的示例。以probIdx 63和64之间的分界线对项目进行镜像。通过使用这种rangeSH表格,可以由probIdx=(P>>(k-n))直接获得probIdx,其中概率小于范围中间值的范围(rangeSH)的表格有2n行。在JCTVC-F254和VCEG-AZ07的示例中,k为15,概率的段索引(probIdx)等于(P>>8),范围的段索引(rangeIdx)等于((range>>6)&3)。如果P等于或者大于16384(或者P的第15位等于1),则1的范围(rangeOne)等于(range–rangeSH),且0的范围(rangeZero)等于rangeSH。否则(即P小于16384),1的范围(rangeOne)等于rangeSH,且0的范围(rangeZero)等于(range–rangeSH)。
表17
Figure GDA0003423870520000441
Figure GDA0003423870520000451
Figure GDA0003423870520000461
Figure GDA0003423870520000471
Figure GDA0003423870520000481
在另一示例中,如表18所示,使用8列镜像的概率小于范围中间值的范围(rangeSH)的表格。对于JCTVC-F254和VCEG-AZ07,参数设置对应于k=15、n=7和m=3。相关概率参数为probIdx=(P>>8)、rangeIdx=((range>>5)&7)。如果P等于或者大于16384(即P的第15位等于1),则相关概率参数为:1的范围(rangeOne)等于(range–rangeSH),且0的范围(rangeZero)等于rangeSH。否则(即P小于16384),相关概率参数为:1的范围(rangeOne)等于rangeSH,且0的范围(rangeZero)等于(range–rangeSH)。
表18
Figure GDA0003423870520000491
Figure GDA0003423870520000501
Figure GDA0003423870520000511
Figure GDA0003423870520000521
Figure GDA0003423870520000531
在另一示例中,如表19所示,使用8列乘64行镜像的概率小于范围中间值的范围(rangeSH)的表格。对于JCTVC-F254和VCEG-AZ07,参数设置对应于k=15、n=6和m=3。相关概率参数为probIdx=(P>>9)、rangeIdx=((range>>5)&7)。如果P等于或者大于16384(即P的第15位等于1),则相关概率参数为:1的范围(rangeOne)等于(range–rangeSH),且0的范围(rangeZero)等于rangeSH。否则(即P小于16384),1的范围(rangeOne)等于rangeSH,且0的范围(rangeZero)等于(range–rangeSH)。表19的表尺寸与HEVC或者H.264/AVC的概率小于范围中间值的范围(rangeSH)的表格尺寸相同。
表19
Figure GDA0003423870520000532
Figure GDA0003423870520000541
Figure GDA0003423870520000551
在表17-表19中,概率小于范围中间值的范围(rangeSH)的条目值无需被修剪(clip)成大于3.
表20示出了本发明实施例的范围查找表尺寸与HEVC标准的JCTVC-F254之间的比较。基于JCTVC-F254的方法需要HEVC寄存器尺寸的12126%,而本发明实施例需要HEVC寄存器尺寸的870%。换言之,JCTVC-F254中公开的方法需要的查找表大概是本发明实施例的14倍。
表20
Figure GDA0003423870520000561
在另一实施例中,如果1的概率大于0.5(例如,0.64),则将大于0.5的概率用于查找表。例如,使用表14,如果该范围为500,则使用第四列。0.14的概率值(位于17/128到18/128)对应于第47行内的值,该值为68。1的范围(rangeOne)为((range Mid/2)+68)=308,或者为((range/2)+68)=318,其中该范围为500的range Mid为480。如果1的范围(rangeOne)大于该范围,则1的范围(rangeOne)被修剪为(range–K),其中K为整数,且对于不同的范围值或者不同段,K可以不相同。
在基于优先级的块滤波器合并方案中,第一步骤,从M个预先定义的相邻块中选择最大N个候选。但是,由于图像分界线处的不可用性、重复的滤波器或者滤波器被关掉,M个预先定义的相邻块中可用的滤波器候选的数量可以小于N。当这种情况发生时,可能出现一些编码性能损耗。为了克服这个问题,公开了下面的实施例,其中添加一个或者多个滤波器到基于优先级的块滤波器合并方案的候选列表中。在第一实施例中,通过使用可用的滤波器产生额外的滤波器。例如,可以移除远离中心位置的一些系数,以形成新的滤波器。又例如,通过对一个可用滤波器的系数进行平均,可以产生新的对称滤波器。又例如,可以自多个可用滤波器添加一个或者多个预先定义的滤波器或者均值滤波器(average filters),以填充基于优先级的块滤波器合并方案的候选列表。
在上述公开的实施例中,可以将待滤波的像素和相邻像素之间的相似度用于像素分类。通过使用一个窗口来定义该相邻像素,如十字图案、3x3正方形或者5x5菱形(diamond)。一个窗口的中心位置是待滤波的像素。对于该窗口内的每个相邻像素,如果相邻像素和待滤波的像素之间的像素值的差小于一阈值,则相似度加1。否则不增加相似度。在将所有相邻像素与待滤波的像素进行比较之后,得到用于一个待滤波的像素的一个相似度值。基于这些相似度值,可以将像素分类成不同的组,且在自适应环路滤波器的过程中不同滤波器用于不同的组。在HEVC标准的发展期间,根据HM-7或者在HM-7.0之前,原始的像素分类用于一个图像内的所有像素。但是,在HEVC标准的发展期间也公开了其他自适应方案,如基于编码树块(coding-tree-block based,CTB-based)的ALF方案,其中对ALF参数进行编码,并对其从编码树块到编码树块进行切换。也可能将像素分类仅应用于一个图像内的一些编码树块。
图5示出了根据本发明实施例的一种基于多表格的基于上下文自适应二进制算术编码的示例性流程图。在步骤510中,根据当前二进制位的二进制值的概率,该方法对当前编码字符的二进制数的该当前二进制位进行编码或者解码,其中,当前二进制位的二进制值的概率由一个或者多个在该当前编码字符前面的之前已编码的字符来产生。在步骤520中,通过使用多个多参数概率模型,根据该当前二进制位的二进制值,更新用于下一二进制位的该二进制值的概率,其中使用与相应参数相关的概率状态的单个集合来更新每个多参数概率模型。
图6示出了根据本发明实施例的另一种基于多表格的基于上下文自适应二进制算术编码的示例性流程图。在步骤610中,根据当前二进制位的二进制值的概率,该方法对当前编码字符的二进制数的该当前二进制位进行编码或者解码,其中,当前二进制位的二进制值的概率由一个或者多个在该当前编码字符前面的之前已编码的字符来产生。在步骤620中,根据该当前二进制位的二进制值,更新用于下一二进制位的该二进制值的概率,其中从至少一个范围查找表(range lookup table)中得到的多个1值范围或者0值范围用于编码或者解码该当前二进制位,并且给定的范围区间的概率小于范围中间值的范围(rangeSH)、多个1值的范围(range One values)或者多个0值的范围(range Zero values)是基于该给定的范围区间和该二进制值的给定的概率而获取的。至少一个范围查找表包括0的范围表格或者1的范围表格。
根据本发明的一实施方式,提供一种熵编解码装置。该熵编解码装置用于图像或者视频编码器或解码器,该熵编码装置包括:二进制算术编码器,用于根据确定用于当前二进制位的当前条目的当前二进制位的二进制值的概率,对当前编码字符的二进制数据的当前二进制位进行编码或者解码,其中当前上下文自位于当前编码字符前面的一个或者多个之前已编码的字符而产生;以及上下文模型单元,用于通过使用多个多参数概率模型,根据用于当前二进制位的二进制值,更新下一二进制位的二进制值的概率,其中每个多参数概率模型由使用与相应参数相关的多个概率状态的单个集合来进行更新。
根据本发明的另一实施方式,提供一种熵编解码装置。该熵编解码装置用于图像或者视频编码器或解码器,该熵编码解装置包括:二进制算术编码器,用根据当前二进制位的二进制值的概率,对当前编码字符的二进制数据的当前二进制位进行编码或者解码,其中当前二进制位的二进制值的概率由位于当前编码字符前面的一个或者多个之前已编码的字符来产生;以及上下文模型单元,用于根据当前二进制位的二进制值,更新下一二进制位的二进制值的概率,其中,从至少一个范围查找表中得到的多个范围1值或者多个范围0值用于编码或者解码当前二进制位;以及其中,基于给定的范围区间,获得用于给定的范围区间的多个范围1值或者该多个范围0值。
所示的流程图用于示出根据本发明的视频编解码的示例。在不脱离本发明的精神的情况下,本领域的技术人员可以修改每个步骤、重组这些步骤、分裂一个步骤或者组合步骤,以实施本发明。在本发明中,已使用特定的语法和语义来说明实施本发明实施例的示例。通过用等价的语法或者语义来替换该语法和语义而不脱离本发明的精神,技术人员可以实施本发明。
上述说明,使得本领域的普通技术人员能够在特定应用程序的上下文及其需求中实施本发明。对本领域技术人员来说,所描述的实施例的各种变形将是清楚的,并且本文定义的一般原则可以应用于其他实施例中。因此,本发明不限于所示和描述的特定实施例,而是将被赋予与本文所公开的原理和新颖特征相一致的最大范围。在上述详细说明中,说明了各种具体细节,以便透彻理解本发明。尽管如此,将被本领域的技术人员理解的是,本发明能够被实践。
如上所述的本发明的实施例可以在各种硬件、软件代码或两者的结合中实现。例如,本发明的实施例可以是集成在视频压缩芯片内的电路,或者是集成到视频压缩软件中的程序代码,以执行本文所述的处理。本发明的一个实施例也可以是在数字信号处理器(Digital Signal Processor,DSP)上执行的程序代码,以执行本文所描述的处理。本发明还可以包括由计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(FPGA)所执行的若干函数。根据本发明,通过执行定义了本发明所实施的特定方法的机器可读软件代码或者固件代码,这些处理器可以被配置为执行特定任务。软件代码或固件代码可以由不同的编程语言和不同的格式或样式开发。软件代码也可以编译为不同的目标平台。然而,执行本发明的任务的不同的代码格式、软件代码的样式和语言以及其他形式的配置代码,不会背离本发明的精神和范围。
本发明以不脱离其精神或本质特征的其他具体形式来实施。所描述的例子在所有方面仅是说明性的,而非限制性的。因此,本发明的范围由附加的权利要求来表示,而不是前述的描述来表示。权利要求的含义以及相同范围内的所有变化都应纳入其范围内。

Claims (8)

1.一种图像或者视频数据的熵编解码的方法,其特征在于,用于图像或者视频编码器或者解码器,包括:
根据当前二进制位的二进制值的概率,对当前编码字符的二进制数据的该当前二进制位进行编码或者解码;以及
根据该当前二进制位的该二进制值,更新用于下一二进制值的概率,其中,从至少一个范围查找表中得到的取值为1值的概率范围RangeOne或者取值为0值的概率范围RangeZero用于编码或者解码该当前二进制位;以及
其中,基于给定的范围区间和该二进制值的给定的概率,得到用于该给定的范围区间的概率小于范围中间值的范围RangeSH、该取值为1值的概率范围RangeOne或者该取值为0值的概率范围RangeZero,其中该范围中间值是该给定的范围区间的中间值,其中该概率小于范围中间值的范围属于0.0至0.5的概率范围。
2.如权利要求1中的图像或者视频数据的熵编解码的方法,其特征在于,该至少一个范围查找表包括取值为0值的概率范围表格或者取值为1值的概率范围表格。
3.如权利要求2中的图像或者视频数据的熵编解码的方法,其特征在于,由取值为0值的概率范围或者取值为1值的概率范围的该给定的范围区间的范围中间值和该给定的范围区间的中间概率值得到一个范围值。
4.如权利要求3中的图像或者视频数据的熵编解码的方法,其特征在于,由取值为0值的概率范围或者取值为1值的概率范围的该给定的范围区间的范围中间值和该给定的范围区间的最大概率值得到一个范围值。
5.如权利要求2中的图像或者视频数据的熵编解码的方法,其特征在于,该至少一个范围查找表仅包括用于在0.0和0.5之间的取值为0值的概率范围或取值为1值的概率范围的多个范围值。
6.如权利要求5中的图像或者视频数据的熵编解码的方法,其特征在于,在0.5和1.0之间的取值为0值的概率范围或取值为1值的概率范围的该多个范围值由当前范围减去在0.0和0.5之间的取值为1值的概率范围或者取值为0值的概率范围中的多个范围值而得到。
7.如权利要求2中的图像或者视频数据的熵编解码的方法,其特征在于,该至少一个范围查找表包括在0.0和1.0之间的取值为0值的概率范围或者取值为1值的概率范围的多个范围值,其中,在0.5和1.0之间的该取值为0值的概率范围或者该取值为1值的概率范围中的多个范围值映射自在0.0和0.5之间的该取值为0值的概率范围或者该取值为1值的概率范围的多个范围值。
8.一种熵编解码装置,其特征在于,用于图像或者视频编码器或解码器,该熵编解码解装置包括:
二进制算术编解码器,用根据当前二进制位的二进制值的概率,对当前编码字符的二进制数据的该当前二进制位进行编码或者解码;以及
上下文模型单元,用于根据该当前二进制位的该二进制值,更新用于下一二进制值的概率,其中,从至少一个范围查找表中得到的取值为1值的概率范围RangeOne或者取值为0值的概率范围RangeZero用于编码或者解码该当前二进制位;以及
其中,基于给定的范围区间和该二进制值的给定的概率,获得用于给定的范围区间的概率小于范围中间值的范围RangeSH、该取值为1值的概率范围RangeOne或者该取值为0值的概率范围RangeZero,其中该范围中间值是该给定的范围区间的中间值,其中该概率小于范围中间值的范围属于0.0至0.5的概率范围。
CN202010312738.7A 2015-05-19 2016-05-19 图像或者视频数据的熵编解码的方法及熵编解码装置 Active CN111614957B (zh)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US201562163473P 2015-05-19 2015-05-19
US62/163,473 2015-05-19
US201562214129P 2015-09-03 2015-09-03
US62/214,129 2015-09-03
US201662322306P 2016-04-14 2016-04-14
US62/322,306 2016-04-14
CN201680028276.8A CN107534772B (zh) 2015-05-19 2016-05-19 图像或者视频数据的熵编解码的方法及熵编解码装置
PCT/CN2016/082645 WO2016184399A1 (en) 2015-05-19 2016-05-19 Method and apparatus for multi-table based context adaptive binary arithmetic coding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201680028276.8A Division CN107534772B (zh) 2015-05-19 2016-05-19 图像或者视频数据的熵编解码的方法及熵编解码装置

Publications (2)

Publication Number Publication Date
CN111614957A CN111614957A (zh) 2020-09-01
CN111614957B true CN111614957B (zh) 2022-03-22

Family

ID=57319467

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201680028276.8A Active CN107534772B (zh) 2015-05-19 2016-05-19 图像或者视频数据的熵编解码的方法及熵编解码装置
CN202010312738.7A Active CN111614957B (zh) 2015-05-19 2016-05-19 图像或者视频数据的熵编解码的方法及熵编解码装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201680028276.8A Active CN107534772B (zh) 2015-05-19 2016-05-19 图像或者视频数据的熵编解码的方法及熵编解码装置

Country Status (7)

Country Link
US (2) US10225555B2 (zh)
EP (1) EP3269141B1 (zh)
KR (1) KR102051200B1 (zh)
CN (2) CN107534772B (zh)
MX (1) MX2017014838A (zh)
WO (1) WO2016184399A1 (zh)
ZA (1) ZA201708435B (zh)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10097833B2 (en) * 2014-12-26 2018-10-09 Intel Corporation Method and system of entropy coding using look-up table based probability updating for video coding
CN107534772B (zh) * 2015-05-19 2020-05-19 联发科技股份有限公司 图像或者视频数据的熵编解码的方法及熵编解码装置
US10757412B2 (en) * 2017-01-03 2020-08-25 Avago Technologies International Sales Pte. Limited Architecture flexible binary arithmetic coding system
US11265561B2 (en) * 2017-01-06 2022-03-01 Mediatek Inc. Method and apparatus for range derivation in context adaptive binary arithmetic coding
US10499074B2 (en) * 2017-01-09 2019-12-03 Qualcomm Incorporated Binary arithmetic coding with small tables or short-operand multiplications for video coding
WO2019011292A1 (en) 2017-07-14 2019-01-17 Mediatek Inc. METHOD AND APPARATUS FOR RANGE CALCULATION IN CONTEXT-ADAPTIVE BITARY ARITHMETIC ENCODING SYSTEM
US20230024560A1 (en) * 2018-05-10 2023-01-26 Sharp Kabushiki Kaisha Systems and methods for performing binary arithmetic coding in video coding
US11503299B2 (en) * 2018-05-10 2022-11-15 Sharp Kabushiki Kaisha Systems and methods for performing binary arithmetic coding in video coding
CN109005413B (zh) * 2018-07-18 2021-06-04 北京奇艺世纪科技有限公司 一种算术编码中的概率估计方法、装置及电子设备
CN109088770B (zh) * 2018-08-21 2020-03-31 西安交通大学 一种基于自适应符号传递熵的机电系统交互网络建模方法
CN112073729B (zh) * 2019-06-11 2024-04-05 北京三星通信技术研究有限公司 模型更新方法、装置、电子设备及计算机可读存储介质
CN114494181A (zh) * 2022-01-24 2022-05-13 首都医科大学附属北京安贞医院 图像处理方法和装置、电子设备和存储介质
US20230328249A1 (en) * 2022-04-06 2023-10-12 Tencent America LLC Cabac context modeling with information from spatial neighbors

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013063371A1 (en) * 2011-10-27 2013-05-02 Qualcomm Incorporated Mapping states in binary arithmetic coder for video coding
CN103563381A (zh) * 2011-06-03 2014-02-05 高通股份有限公司 对视频数据进行上下文自适应译码
CN103733622A (zh) * 2011-06-16 2014-04-16 弗劳恩霍夫应用研究促进协会 熵编码中的上下文初始化
CN103797803A (zh) * 2011-06-28 2014-05-14 三星电子株式会社 用于熵编码/解码的方法和设备

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1703089A (zh) * 2005-06-09 2005-11-30 清华大学 一种数字信号的二值算术编码方法
US8306125B2 (en) 2006-06-21 2012-11-06 Digital Video Systems, Inc. 2-bin parallel decoder for advanced video processing
CN101212676B (zh) * 2006-12-29 2010-06-02 北京展讯高科通信技术有限公司 高效并行cabac解码方法及其装置
JP4915350B2 (ja) * 2008-01-16 2012-04-11 日本電気株式会社 エントロピ符号化器、映像符号化装置、映像符号化方法および映像符号化プログラム
US7592937B1 (en) 2008-06-02 2009-09-22 Mediatek Inc. CABAC decoding unit and method
US7932843B2 (en) * 2008-10-17 2011-04-26 Texas Instruments Incorporated Parallel CABAC decoding for video decompression
US8913666B2 (en) * 2010-10-01 2014-12-16 Qualcomm Incorporated Entropy coding coefficients using a joint context model
JP5090547B2 (ja) * 2011-03-04 2012-12-05 楽天株式会社 翻字処理装置、翻字処理プログラム、翻字処理プログラムを記録したコンピュータ読み取り可能な記録媒体、及び翻字処理方法
US9762918B2 (en) 2011-05-27 2017-09-12 Hfi Innovation Inc. Method and apparatus for line buffer reduction for video processing
JP5642105B2 (ja) * 2012-03-29 2014-12-17 京セラドキュメントソリューションズ株式会社 画像処理装置および画像形成装置
PT2869563T (pt) * 2012-07-02 2018-06-25 Samsung Electronics Co Ltd Método e aparelho para codificar vídeo de entropia e método e aparelho para descodifcar vídeo de entropia
CN103581690A (zh) * 2012-08-09 2014-02-12 联发科技(新加坡)私人有限公司 视频译码方法、视频译码器、视频编码方法和视频编码器
CN107534772B (zh) * 2015-05-19 2020-05-19 联发科技股份有限公司 图像或者视频数据的熵编解码的方法及熵编解码装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103563381A (zh) * 2011-06-03 2014-02-05 高通股份有限公司 对视频数据进行上下文自适应译码
CN103733622A (zh) * 2011-06-16 2014-04-16 弗劳恩霍夫应用研究促进协会 熵编码中的上下文初始化
CN103797803A (zh) * 2011-06-28 2014-05-14 三星电子株式会社 用于熵编码/解码的方法和设备
WO2013063371A1 (en) * 2011-10-27 2013-05-02 Qualcomm Incorporated Mapping states in binary arithmetic coder for video coding

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Multi-parameter probability up-date for CABAC;A.Alshin等;《JCTVC-F254》;20110712;全文 *

Also Published As

Publication number Publication date
CN107534772A (zh) 2018-01-02
EP3269141B1 (en) 2021-06-23
KR20170131670A (ko) 2017-11-29
MX2017014838A (es) 2018-02-19
KR102051200B1 (ko) 2019-12-02
BR112017023403A2 (pt) 2018-08-07
US20190149824A1 (en) 2019-05-16
CN111614957A (zh) 2020-09-01
EP3269141A1 (en) 2018-01-17
ZA201708435B (en) 2019-05-29
US20180139445A1 (en) 2018-05-17
EP3269141A4 (en) 2018-09-12
US10742984B2 (en) 2020-08-11
WO2016184399A1 (en) 2016-11-24
US10225555B2 (en) 2019-03-05
CN107534772B (zh) 2020-05-19

Similar Documents

Publication Publication Date Title
CN111614957B (zh) 图像或者视频数据的熵编解码的方法及熵编解码装置
TWI748201B (zh) 適於相依純量量化之變換係數熵寫碼技術
KR101662136B1 (ko) 움직임 벡터 차분값의 엔트로피 코딩
KR100340828B1 (ko) 적응 확률 추정방법 및 적응 부호화 방법과 적응 복호화 방법
JP5736032B2 (ja) 算術符号化のための適応型2値化
US7423562B2 (en) Effective decoding method of H.264/AVC context-based adaptive variable length coding
CN110291793B (zh) 上下文自适应二进制算术编解码中范围推导的方法和装置
US8767823B2 (en) Method and apparatus for frame memory compression
CN110915213B (zh) 编解码符号的熵编解码的方法与装置
WO2008036968A2 (en) Systems and methods for context adaptive video data preparation
CN113766248B (zh) 环路滤波的方法与装置
JP2009021775A (ja) 符号化装置及び符号化方法
US6847317B2 (en) System and method for a dyadic-monotonic (DM) codec
JPH11275579A (ja) 画像符号化方法、画像復号化方法、画像符号化装置および画像復号化装置
BR112017023403B1 (pt) Método e aparelho de codificação de entropia de dados de imagem ou vídeo

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant