CN107534772A - 基于多表格的上下文自适应二进制算术编码的方法及装置 - Google Patents

基于多表格的上下文自适应二进制算术编码的方法及装置 Download PDF

Info

Publication number
CN107534772A
CN107534772A CN201680028276.8A CN201680028276A CN107534772A CN 107534772 A CN107534772 A CN 107534772A CN 201680028276 A CN201680028276 A CN 201680028276A CN 107534772 A CN107534772 A CN 107534772A
Authority
CN
China
Prior art keywords
probability
value
scope
character
range
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201680028276.8A
Other languages
English (en)
Other versions
CN107534772B (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
Priority to CN202010312738.7A priority Critical patent/CN111614957B/zh
Publication of CN107534772A publication Critical patent/CN107534772A/zh
Application granted granted Critical
Publication of CN107534772B publication Critical patent/CN107534772B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/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/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/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/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
    • 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

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

本发明公开一种使用基于多表格的基于上下文自适应二进制算术编码且用于图像或者视频编码器或者解码器的图像或者视频数据的熵编解码的方法及装置。在一个实施例中,根据当前二进制位的二进制值的概率,对当前编码字符的二进制数的该当前二进制位进行编码或者解码,并且,通过使用多个多参数概率模型,根据该当前二进制位的该二进制值,更新用于下一二进制位的二进制值的概率。使用至少一个查找表来更新每个多参数概率模型,该至少一个查找表具有多个概率状态的单个集合作为表索引,以访问该至少一个查找表的上下文。在另一实施例中,基于范围区间的中间值计算用该范围区间的范围更新。

Description

基于多表格的上下文自适应二进制算术编码的方法及装置
优先权声明
本申请主张以下申请的权利:在2015年05月19日提出第62/163,473号的美国临时专利申请、在2015年09月03日提出第62/214,129号的美国临时专利申请和在2016年04月14日提出第62/322,306号的美国临时专利申请,且上述申请整体以引用方式并入本文中。
技术领域
本发明涉及用于图像编解码和视频编解码的熵编码技术,且更具体而言,本发明涉及用于图像编解码和视频编解码的基于多表格的基于上下文自适应二进制算术编码(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)所示,相应地将下一编码区间更新为两个子区间中一个。
其中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
在JCTVC-F254(Alshin et al.,Multi-parameter probability up-date forCABAC,Joint Collaborative Team on Video Coding(JCT-VC)of ITU-T SG16WP3andISO/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=Σ(βi·pi_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的幂分之一来表示(即α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,以使得概率在上述的区间之内。当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
在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)。对于基于块的分类方法,第一步骤与基于像素分类相似,即计算一个块内的每个像素的特征。第二步骤,根据一个块内的所有像素的特征,计算一个块的特性。
发明内容
本发明公开了一种图像或者视频数据的熵编解码的方法及装置,其用于图像或者视频编码器或者解码器,且使用基于多表格的基于上下文自适应二进制算术编码。在一个实施例中,根据当前二进制位的二进制值的概率,对当前编码字符的二进制数的该当前二进制位进行编码或者解码,并且,通过使用多个多参数概率模型,根据该当前二进制位的该二进制值,更新用于下一二进制位的二进制值的概率。该当前二进制位的该二进制值的概率由位于该当前编码字符前面的一个或者多个之前已编码的字符来产生。每个多参数概率模型由使用与相应参数相关的多个概率状态的单个集合来进行更新。具体地,使用至少一个查找表来更新每个多参数概率模型,该至少一个查找表具有该概率状态的单个集合作为表索引,以访问该至少一个查找表的上下文。
在一个示例中,该查找表包括最小概率字符范围表格,其中该最小概率字符范围表格包括用于给定的概率状态和当前范围的预设的最小概率字符范围。该最小概率字符范围表格包括用于该给定的概率状态的和已量化的当前范围的、减小表格尺寸的预设的最小概率字符范围。该最小概率字符范围表格存储有多个最小概率字符范围值以用于已减小数量的该多个概率状态的单个集合,且该已减小数量的该多个概率状态的单个集合通过均匀地保留每M个概率状态中一个概率状态来进行选择,以及M为大于1的正整数。例如,M对应于2、4或者8。该最小概率字符范围表格存储有多个最小概率字符范围值以用于已减小数量的该多个概率状态的单个集合,且该已减小数量的该多个概率状态的单个集合通过非均匀地保留该多个概率状态的单个集合来进行选择。。
该查找表可以包括下一最小概率字符状态表格或者下一最大概率字符状态表格,其中该下一最小概率字符状态表格或者下一最大概率字符状态表格包括用于每个当前最小概率字符概率状态的下一最小概率字符的概率状态或者用于每个当前最大概率字符概率状态的下一最大概率字符概率状态。该下一最小概率字符状态表格存储有下一最小概率字符状态以用于已减小数量的该最小概率字符概率状态,或者该下一最大概率字符状态表存储有下一最大概率字符状态以用于已减小数量的该最大概率字符的概率状态。
该多个多参数概率模型可以对应于使用第一参数和第二参数的多个两参数概率模型,其中该第一参数基于该第二参数而得到。该第一参数可以等于该第二参数的M次幂,M为大于1的整数。根据该多个参数概率模型,二进制值已更新的概率可以自多个新的单个概率更新而得到。本发明也公开了基于与两个概率参数相关的两个各自概率状态的概率获取最终概率。
本发明也公开了另一种在图像或者视频编码器或者解码器中的图像或者视频数据的熵编解码的方法及装置。根据当前二进制位的二进制值的概率,对当前编码字符的二进制数的该当前二进制位进行编码或者解码,其中该当前二进制位的该二进制值的概率由位于该当前编码字符前面的一个或者多个之前已编码的字符来产生。然后根据该当前二进制位的该二进制值,更新用于下一二进制位的该二进制值的概率;并且通过使用从至少一个范围查找表中得到的多个1值范围或者多个0值范围编码或者解码该当前二进制位。基于给定的范围区间的范围中间值和给定的该二进制值的给定的概率,得到用于该给定的范围区间的较小一半概率的范围、该多个1值范围或者该多个0值范围。
该至少一个范围查找表包括0的范围表格或者1的范围表格。可以由0概率范围或者1概率范围的该给定的范围区间的范围中间值和该给定的范围区间的中间概率值得到一个范围值。可以由0概率范围或者1概率范围的该给定的范围区间的范围中间值和该给定的范围区间的最大概率值得到一个范围值。该至少一个范围查找表仅包括用于在0.0和0.5之间的0概率范围或1概率范围的多个范围值。在0.5和1.0之间的0概率范围或1概率范围的该多个范围值由该当前范围减去在0.0和0.5之间的1概率范围或者0概率范围中的多个范围值而得到。该至少一个范围查找表包括在0.0和1.0之间的0概率范围或者1概率范围的多个范围值,其中,在0.5和1.0之间的该0概率范围或者该1概率范围中的多个范围值映射自在0.0和0.5之间的该0概率范围或者该1概率范围的多个范围值。
附图说明
图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。可以理解,这些不同的形式是等同的,且可以交换着使用。
使用新的α和新的p,分别如表3(用于α1)和表4a-表4h(用于α2)所示,可以得到新的LPS的范围的表格以用于α1和α2
表3
表4a
表4b
表4c
表4d
表4e
表4f
表4g
表4h
图4示出了基于表格的两参数的基于上下文的自适应二进制算术编码的示例,其中一个参数(即对应于α1的N1)提供较快的更新速率,另一个参数(即对应于α2的N2)提供较慢的更新速率。
对于每个上下文,其具有与多个参数相关的多个概率状态。例如,对于每个上下文,其具有与两个参数相关的两个概率状态:一个用于α1和另一个用于α2。单独更新每个上下文中的状态(例如,状态a和状态b)。例如,对于编码/解码二进制位,一个状态可以被更新为LPS状态,另外一个可以被更新为MPS状态。当获取用于编码的LPS的范围(range LPS forcoding,RLPSC)时,通过表格查找,可以获得每个状态的LPS的范围。如果两个状态的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 forcoding,RMPSC)和MPS。
表5
所获得的用于编码的LPS的范围和用于编码的MPS的范围,可以用于HEVC CABAC,该用于编码的MPS的范围等于(range–RLPSC)。如上所示的基于表格的多参数CABAC可以充分减小查找表的尺寸。
在基于多表格的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)。
表6
表7
表8
表9
所获得的用于编码的1的范围(ROFC)和用于编码的0的范围(RZFC)可以用于CABAC。如上所公开的基于表格的多参数CABAC可以充分减小查找表的尺寸。
为了进一步降低查找表的尺寸,可以向下采样(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
由于因α1=(α2)16而使得α1与α2相关,α2的表格可以再被用于α1。α1内的状态S1等于α2内的状态S1*16。例如,α1内的状态1等于α2内的状态16,α1内的状态2等于α2内的状态32。
表11示出了用于α1的下一LPS状态的示例,其中该表中的“-1”表示转换至MPS,且该状态被设置为0,“-2”表示转换至MPS,且该状态被设置为1。
表11
表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
对于状态初始化,可以重使用HEVC所采用的初始状态推导。但是,根据本发明的基于表格的多参数CABAC,使用将HEVC中的初始状态(概率)映射到最近初始状态(概率)的查找表。表13示出了用于α1和α2的初始状态映射表的示例。
表13
在本发明中,也提出了使用用于CABAC编码的多个参数(例如,多个α)。对于每个α,其具有状态、LPS的范围(rangeLPS)的表格(或者1的范围(rangeOne)的表格或者0的范围(rangeZero)的表格)、下一MPS的表格和下一LPS的表格。对于每个上下文,其可以选择使用单个α,或者两个α。如果使用两个α,则可以使用上述的方法。一些语法可以使用单个α,并且一些语法可以使用两个α。该边缘信息(例如,表示使用一个α或者两个α的语法以及识别哪个α的信息)可以被预先定义,或者被发信在比特流中。例如,与这些语法相关的系数可以使用单个α,其他语法可以使用两个α。在另一示例中,系数相关的语法可以使用两个α,以及其他语法可以使用单个α。可以通过使用公式(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)。可以通过使用(range–rangeSH)来获得该表的另外一半的值。行数定义了概率的分辨率。例如,具有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)对应于最大概率值(Prob Max)。由((rangeMid)*(Prob Max))来获得较小一半概率的范围(rangeSH)的值。
表14
表15示出了较小一半概率的范围(rangeSH)的另一示例性的获取方法,其由((range Mid)*((Prob Max+Prob Min)/2))来获得。
表15
表16示出了又一示例性的较小一半概率的范围值获取方法,其中由((rangeMid)*((Prob Max+Prob Min)/2))来获得较小一半概率的范围(rangeSH),最小值被修剪为3。在JCTVC-F254和VCEG-AZ07中,若1的概率大于0.5(例如,0.64),则意味着0的概率为0.36。将使用0.36(在第18行中)来查找用于0的范围(RangeZero)。由(range–rangeZero)可以获得1的范围(RangeOne)。
表16.
在获得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)的表格,以降低计算复杂度。表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
在另一示例中,如表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
在另一示例中,如表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
在表17-表19中,较小一半概率的范围(rangeSH)的条目值无需被修剪(clip)成大于3.
表20示出了本发明实施例的范围查找表尺寸与HEVC标准的JCTVC-F254之间的比较。基于JCTVC-F254的方法需要HEVC寄存器尺寸的12126%,而本发明实施例需要HEVC寄存器尺寸的870%。换言之,JCTVC-F254中公开的方法需要的查找表大概是本发明实施例的14倍。
表20
在另一实施例中,如果1的概率大于0.5(例如,0.64),则将大于0.5的概率用于表查找。例如,如果该范围为500,则使用第四列。0.14的概率值对应于第47行内的值,该值为68。1的范围(rangeOne)为((range Mid/2)+68)=308,或者为((range/2)+68)=318。如果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)是基于该给定的范围区间的范围中间值和该二进制值的给定的概率而获取的。
所示的流程图用于示出根据本发明的视频编解码的示例。在不脱离本发明的精神的情况下,本领域的技术人员可以修改每个步骤、重组这些步骤、***一个步骤或者组合步骤,以实施本发明。在本发明中,已使用特定的语法和语义来说明实施本发明实施例的示例。通过用等价的语法或者语义来替换该语法和语义而不脱离本发明的精神,技术人员可以实施本发明。
上述说明,使得本领域的普通技术人员能够在特定应用程序的上下文及其需求中实施本发明。对本领域技术人员来说,所描述的实施例的各种变形将是清楚的,并且本文定义的一般原则可以应用于其他实施例中。因此,本发明不限于所示和描述的特定实施例,而是将被赋予与本文所公开的原理和新颖特征相一致的最大范围。在上述详细说明中,说明了各种具体细节,以便透彻理解本发明。尽管如此,将被本领域的技术人员理解的是,本发明能够被实践。
如上所述的本发明的实施例可以在各种硬件、软件代码或两者的结合中实现。例如,本发明的实施例可以是集成在视频压缩芯片内的电路,或者是集成到视频压缩软件中的程序代码,以执行本文所述的处理。本发明的一个实施例也可以是在数字信号处理器(Digital Signal Processor,DSP)上执行的程序代码,以执行本文所描述的处理。本发明还可以包括由计算机处理器、数字信号处理器、微处理器或现场可编程门阵列(FPGA)所执行的若干函数。根据本发明,通过执行定义了本发明所实施的特定方法的机器可读软件代码或者固件代码,这些处理器可以被配置为执行特定任务。软件代码或固件代码可以由不同的编程语言和不同的格式或样式开发。软件代码也可以编译为不同的目标平台。然而,执行本发明的任务的不同的代码格式、软件代码的样式和语言以及其他形式的配置代码,不会背离本发明的精神和范围。
本发明以不脱离其精神或本质特征的其他具体形式来实施。所描述的例子在所有方面仅是说明性的,而非限制性的。因此,本发明的范围由附加的权利要求来表示,而不是前述的描述来表示。权利要求的含义以及相同范围内的所有变化都应纳入其范围内。

Claims (30)

1.一种图像或者视频数据的熵编解码的方法,其特征在于,用于图像或者视频编码器或者解码器,包括:
根据当前二进制位的二进制值的概率,对当前编码字符的二进制数的该当前二进制位进行编码或者解码,其中该当前二进制位的该二进制值的概率由位于该当前编码字符前面的一个或者多个之前已编码的字符来产生;以及
通过使用多个多参数概率模型,根据该当前二进制位的该二进制值,更新用于下一二进制位的二进制值的概率,其中每个多参数概率模型由使用与相应参数相关的多个概率状态的单个集合来进行更新。
2.如权利要求1中的图像或者视频数据的熵编解码的方法,其特征在于,使用至少一个查找表来更新每个多参数概率模型,其中该至少一个查找表利用具有多个概率状态的单个集合作为表索引访问该至少一个查找表的上下文。
3.如权利要求2中的图像或者视频数据的熵编解码的方法,其特征在于,该至少一个查找表包括最小概率字符范围表格,其中该最小概率字符范围表格包括用于给定的概率状态和当前范围的预设的最小概率字符范围。
4.如权利要求3中的图像或者视频数据的熵编解码的方法,其特征在于,该最小概率字符范围表格包括用于该给定的概率状态的和已量化的当前范围的、减小表格尺寸的预设的最小概率字符范围。
5.如权利要求3中的图像或者视频数据的熵编解码的方法,其特征在于,该最小概率字符范围表格存储有多个最小概率字符范围值以用于已减小数量的该多个概率状态的单个集合,且该已减小数量的该多个概率状态的单个集合通过均匀地保留每M个概率状态中一个概率状态来进行选择,以及M为大于1的正整数。
6.如权利要求5中的图像或者视频数据的熵编解码的方法,其特征在于,M对应于2、4或者8。
7.如权利要求3中的图像或者视频数据的熵编解码的方法,其特征在于,该最小概率字符范围表格存储有多个最小概率字符范围值以用于已减小数量的该多个概率状态的单个集合,且该已减小数量的该多个概率状态的单个集合通过非均匀地保留该多个概率状态的单个集合来进行选择。
8.如权利要求2中的图像或者视频数据的熵编解码的方法,其特征在于,该至少一个查找表包括下一最小概率字符状态表格或者下一最大概率字符状态表格,其中该下一最小概率字符状态表格或者下一最大概率字符状态表格包括每个当前最小概率字符的概率状态的下一最小概率字符的概率状态或者每个当前最大概率字符的概率状态的下一最大概率字符的概率状态。
9.如权利要求8中的图像或者视频数据的熵编解码的方法,其特征在于,该下一最小概率字符状态表格存储有下一最小概率字符状态以用于已减小数量的该最小概率字符概率状态,或者该下一最大概率字符状态表存储有下一最大概率字符状态以用于已减小数量的该最大概率字符的概率状态。
10.如权利要求2中的图像或者视频数据的熵编解码的方法,其特征在于,该多个多参数概率模型对应于使用第一参数和第二参数的多个两参数概率模型,其中该第一参数基于该第二参数而得到。
11.如权利要求10中的图像或者视频数据的熵编解码的方法,其特征在于,该第一参数等于提高到N的幂的该第二参数,N为大于1的整数。
12.如权利要求2中的图像或者视频数据的熵编解码的方法,其特征在于,该多个多参数概率模型对应于使用两个参数的多个两参数概率模型,并且使用单个阿尔法值或两个阿尔法值,以获得用于每个上下文的该两个参数中的至少一个。
13.如权利要求12中的图像或者视频数据的熵编解码的方法,其特征在于,关于是否使用该单个阿尔法值或该两个阿尔法值的边缘信息被预先定义或者被发信于视频比特流中。
14.如权利要求12中的图像或者视频数据的熵编解码的方法,其特征在于,一个或多个系数相关的语法元素使用该单个阿尔法值,并且一个或多个其他语法元素使用该两个阿尔法值。
15.如权利要求12中的图像或者视频数据的熵编解码的方法,其特征在于,一个或多个系数相关的语法元素使用该两个阿尔法值,并且一个或多个其他语法元素使用该单个阿尔法值。
16.如权利要求2中的图像或者视频数据的熵编解码的方法,其特征在于,根据该多个参数概率模型,二进制值已更新的概率自多个新的单个概率更新而得到。
17.如权利要求16中的图像或者视频数据的熵编解码的方法,其特征在于,该多个多参数概率模型对应于具有第一参数和第二参数的多个两参数概率模型,对于与该第一参数和该第二参数相关的第一状态和第二状态的、用于给定上下文的两个最大概率字符是相同的,并且该至少一个查找表包括最小概率字符范围表格,则最小概率字符的范围是基于用于该第一状态的第一最小概率字符范围与用于该第二状态的第二最小概率字符范围的平均值而得到。
18.如权利要求16中的图像或者视频数据的熵编解码的方法,其特征在于,该多个多参数概率模型对应于具有第一参数和第二参数的多个两参数概率模型,对于与该第一参数和该第二参数相关的第一状态和第二状态的、用于给定的上下文的两个最大概率字符不相同,并且,该至少一个查找表包括最小概率字符范围表格,则已更新的范围最小概率字符是基于与该第一状态和该第二状态相关的两个最小概率字符范围中较小的最小概率字符范围和与该第一状态和该第二状态中具有较大的最小概率字符范围的状态相关的最大概率字符范围的平均值而得到。
19.如权利要求16中的图像或者视频数据的熵编解码的方法,其特征在于,
该多个多参数概率模型对应于具有第一参数和第二参数的多个两参数概率模型,以及,
该至少一个查找表包括最小概率字符范围表格,则:
若用于第一状态的第一最大概率字符为1,则将与该第一参数相关的该第一状态的第一0值范围设置成用于该第一状态的第一最小概率字符值范围,否则设置成当前范围减去该第一最小概率字符值范围;
若用于第二状态的第二最大概率字符为1,则将与该第二参数相关的该第二状态的第二0值范围设置成用于该第二状态的第二最小概率字符值范围,否则设置成当前范围减去该第二最小概率字符值范围;
获得用于编解码的0值范围为该第一0值范围与该第二0值范围的平均值;以及
获得用于编解码的1值范围为该当前范围减去该用于编解码的0值范围。
20.如权利要求16中的图像或者视频数据的熵编解码的方法,其特征在于,
该多个多参数概率模型对应于具有第一参数和第二参数的多个两参数概率模式,以及
该至少一个查找表包括最小概率字符范围表格,则:
若用于第一状态的第一最大概率字符为0时,则将与该第一参数相关的该第一状态的第一1值范围设置成用于该第一状态的第一最小概率字符值范围,否则设置成当前范围减去该第一最小概率字符值范围;
若用于第二状态的第二最大概率字符为0时,则将与该第二参数相关的该第二状态的第二1值范围设置成用于该第二状态的第二最小概率字符值范围,否则设置成当前范围减去该第二最小概率字符值范围;
获得用于编解码的1值范围为该第一1值范围与该第二1值范围的平均值;以及
获得用于编解码的0值范围为该当前范围减去该用于编解码的1值范围。
21.一种熵编解码装置,其特征在于,用于图像或者视频编码器或解码器,该熵编码装置包括:
二进制算术编码器,用于根据确定用于当前二进制位的当前条目的当前二进制位的二进制值的概率,对当前编码字符的二进制数据的该当前二进制位进行编码或者解码,其中当前上下文自位于该当前编码字符前面的一个或者多个之前已编码的字符而产生;以及
上下文模型单元,用于通过使用多个多参数概率模型,根据用于该当前二进制位的该二进制值,更新下一二进制位的该二进制值的概率,其中每个多参数概率模型由使用与相应参数相关的多个概率状态的单个集合来进行更新。
22.如权利要求21中的熵编解码装置,其特征在于,进一步包括:
至少一个查找表,用于存储每个多参数概率模型,其中该概率状态的单个集合用作表索引,以访问该至少一个查找表的上下文。
23.一种图像或者视频数据的熵编解码的方法,其特征在于,用于图像或者视频编码器或者解码器,包括:
根据当前二进制位的二进制值的概率,对当前编码字符的二进制数据的该当前二进制位进行编码或者解码,其中该当前二进制位的该二进制值的概率由位于该当前编码字符前面的一个或者多个之前已编码的字符来产生;以及
根据该当前二进制位的该二进制值,更新用于下一二进制位的该二进制值的概率,其中,从至少一个范围查找表中得到的多个1值范围或者多个0值范围用于编码或者解码该当前二进制位;以及
其中,基于给定的范围区间的范围中间值和该二进制值的给定的概率,得到用于该给定的范围区间的较小一半概率的范围、该多个1值范围或者该多个0值范围。
24.如权利要求23中的图像或者视频数据的熵编解码的方法,其特征在于,该至少一个范围查找表包括0的范围表格或者1的范围表格。
25.如权利要求24中的图像或者视频数据的熵编解码的方法,其特征在于,由0概率范围或者1概率范围的该给定的范围区间的范围中间值和该给定的范围区间的中间概率值得到一个范围值。
26.如权利要求25中的图像或者视频数据的熵编解码的方法,其特征在于,由0概率范围或者1概率范围的该给定的范围区间的范围中间值和该给定的范围区间的最大概率值得到一个范围值。
27.如权利要求24中的图像或者视频数据的熵编解码的方法,其特征在于,该至少一个范围查找表仅包括用于在0.0和0.5之间的0概率范围或1概率范围的多个范围值。
28.如权利要求27中的图像或者视频数据的熵编解码的方法,其特征在于,在0.5和1.0之间的0概率范围或1概率范围的该多个范围值由该当前范围减去在0.0和0.5之间的1概率范围或者0概率范围中的多个范围值而得到。
29.如权利要求24中的图像或者视频数据的熵编解码的方法,其特征在于,该至少一个范围查找表包括在0.0和1.0之间的0概率范围或者1概率范围的多个范围值,其中,在0.5和1.0之间的该0概率范围或者该1概率范围中的多个范围值映射自在0.0和0.5之间的该0概率范围或者该1概率范围的多个范围值。
30.一种熵编解码装置,其特征在于,用于图像或者视频编码器或解码器,该熵编码解装置包括:
二进制算术编码器,用根据当前二进制位的二进制值的概率,对当前编码字符的二进制数据的该当前二进制位进行编码或者解码,其中该当前二进制位的该二进制值的概率由位于该当前编码字符前面的一个或者多个之前已编码的字符来产生;以及
上下文模型单元,用于根据该当前二进制位的该二进制值,更新下一二进制位的该二进制值的概率,其中,从至少一个范围查找表中得到的多个范围1值或者多个范围0值用于编码或者解码该当前二进制位;以及
其中,基于给定的范围区间的范围中间值,获得用于给定的范围区间的该多个范围1值或者该多个范围0值。
CN201680028276.8A 2015-05-19 2016-05-19 图像或者视频数据的熵编解码的方法及熵编解码装置 Active CN107534772B (zh)

Priority Applications (1)

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

Applications Claiming Priority (7)

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
PCT/CN2016/082645 WO2016184399A1 (en) 2015-05-19 2016-05-19 Method and apparatus for multi-table based context adaptive binary arithmetic coding

Related Child Applications (1)

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

Publications (2)

Publication Number Publication Date
CN107534772A true CN107534772A (zh) 2018-01-02
CN107534772B CN107534772B (zh) 2020-05-19

Family

ID=57319467

Family Applications (2)

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

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202010312738.7A Active CN111614957B (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) CN111614957B (zh)
MX (1) MX2017014838A (zh)
WO (1) WO2016184399A1 (zh)
ZA (1) ZA201708435B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109005413A (zh) * 2018-07-18 2018-12-14 北京奇艺世纪科技有限公司 一种算术编码中的概率估计方法、装置及电子设备
CN112073729A (zh) * 2019-06-11 2020-12-11 北京三星通信技术研究有限公司 模型更新方法、装置、电子设备及计算机可读存储介质

Families Citing this family (11)

* 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
US10225555B2 (en) * 2015-05-19 2019-03-05 Mediatek Inc. Method and apparatus for multi-table based context adaptive binary arithmetic coding
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
EP3652937A4 (en) 2017-07-14 2021-01-13 MediaTek Inc. METHOD AND DEVICE FOR AREA DERIVATION IN CONTEXT ADAPTIVE BINARY ARITHMETIC CODING
US20230024560A1 (en) * 2018-05-10 2023-01-26 Sharp Kabushiki Kaisha Systems and methods for performing binary arithmetic coding in video coding
CN112106363A (zh) * 2018-05-10 2020-12-18 夏普株式会社 在视频编码中用于执行二进制算术编码的***和方法
CN109088770B (zh) * 2018-08-21 2020-03-31 西安交通大学 一种基于自适应符号传递熵的机电***交互网络建模方法
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 (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101212676A (zh) * 2006-12-29 2008-07-02 北京展讯高科通信技术有限公司 高效并行cabac解码方法及其装置
US20120082231A1 (en) * 2010-10-01 2012-04-05 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
TW201250498A (en) * 2011-03-04 2012-12-16 Rakuten Inc Transliteration device, program, recording medium, and method
US20130044810A1 (en) * 2006-06-21 2013-02-21 Mstar Semiconductor, Inc. 2-bin parallel decoder for advanced video processing
CN103563381A (zh) * 2011-06-03 2014-02-05 高通股份有限公司 对视频数据进行上下文自适应译码
CN103581690A (zh) * 2012-08-09 2014-02-12 联发科技(新加坡)私人有限公司 视频译码方法、视频译码器、视频编码方法和视频编码器
CN103797803A (zh) * 2011-06-28 2014-05-14 三星电子株式会社 用于熵编码/解码的方法和设备

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1703089A (zh) * 2005-06-09 2005-11-30 清华大学 一种数字信号的二值算术编码方法
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
KR101539312B1 (ko) 2011-05-27 2015-07-24 미디어텍 인크. 비디오 프로세싱에 대한 라인 버퍼 감소를 위한 방법 및 장치
CN107517384B (zh) * 2011-06-16 2020-06-30 Ge视频压缩有限责任公司 解码器、编码器、解码方法、编码方法以及存储介质
US9871537B2 (en) * 2011-10-27 2018-01-16 Qualcomm Incorporated Mapping states in binary arithmetic coder for video coding
JP5642105B2 (ja) * 2012-03-29 2014-12-17 京セラドキュメントソリューションズ株式会社 画像処理装置および画像形成装置
HUE039986T2 (hu) * 2012-07-02 2019-02-28 Samsung Electronics Co Ltd Eljárás video entrópia dekódolására
US10225555B2 (en) * 2015-05-19 2019-03-05 Mediatek Inc. Method and apparatus for multi-table based context adaptive binary arithmetic coding

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130044810A1 (en) * 2006-06-21 2013-02-21 Mstar Semiconductor, Inc. 2-bin parallel decoder for advanced video processing
CN101212676A (zh) * 2006-12-29 2008-07-02 北京展讯高科通信技术有限公司 高效并行cabac解码方法及其装置
US20120082231A1 (en) * 2010-10-01 2012-04-05 Qualcomm Incorporated Zero-out of high frequency coefficients and entropy coding retained coefficients using a joint context model
TW201250498A (en) * 2011-03-04 2012-12-16 Rakuten Inc Transliteration device, program, recording medium, and method
CN103563381A (zh) * 2011-06-03 2014-02-05 高通股份有限公司 对视频数据进行上下文自适应译码
CN103797803A (zh) * 2011-06-28 2014-05-14 三星电子株式会社 用于熵编码/解码的方法和设备
CN103581690A (zh) * 2012-08-09 2014-02-12 联发科技(新加坡)私人有限公司 视频译码方法、视频译码器、视频编码方法和视频编码器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
A.ALSHIN, E.ALSHINA: ""Multi-parameter probability up-date for CABAC"", 《JOINT COLLABORATIVE TEAM ON VIDEO CODING (JCT-VC) OF ITU-T SG16 WP3 AND ISO/IEC JTC1/SC29/WG11》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109005413A (zh) * 2018-07-18 2018-12-14 北京奇艺世纪科技有限公司 一种算术编码中的概率估计方法、装置及电子设备
CN109005413B (zh) * 2018-07-18 2021-06-04 北京奇艺世纪科技有限公司 一种算术编码中的概率估计方法、装置及电子设备
CN112073729A (zh) * 2019-06-11 2020-12-11 北京三星通信技术研究有限公司 模型更新方法、装置、电子设备及计算机可读存储介质
CN112073729B (zh) * 2019-06-11 2024-04-05 北京三星通信技术研究有限公司 模型更新方法、装置、电子设备及计算机可读存储介质

Also Published As

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

Similar Documents

Publication Publication Date Title
CN107534772A (zh) 基于多表格的上下文自适应二进制算术编码的方法及装置
US9698820B2 (en) Method and arrangement for coding transform coefficients in picture and/or video coders and decoders and a corresponding computer program and a corresponding computer-readable storage medium
TWI748201B (zh) 適於相依純量量化之變換係數熵寫碼技術
KR100340828B1 (ko) 적응 확률 추정방법 및 적응 부호화 방법과 적응 복호화 방법
US6900748B2 (en) Method and apparatus for binarization and arithmetic coding of a data value
CN107302367B (zh) 从数据流解码具有变换系数级别的多个变换系数的装置
US20050012648A1 (en) Apparatus and methods for entropy-encoding or entropy-decoding using an initialization of context variables
CA3069635C (en) Method and apparatus for range derivation in context adaptive binary arithmetic coding
US11265561B2 (en) Method and apparatus for range derivation in context adaptive binary arithmetic coding
JP6796405B2 (ja) イントラ予測器、画像符号化装置、画像復号装置およびプログラム
Matsuda et al. A lossless coding scheme using adaptive predictors and arithmetic code optimized for each image
WO2023197104A1 (zh) 一种编解码方法、编码器、解码器及存储介质
Deng Adaptive predictor combination for lossless image coding
Shen Binary shape coding and lossless image compression
Nechaeva Lossless image compression using n-ary context tree

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