CN103096062A - 算术解码方法 - Google Patents
算术解码方法 Download PDFInfo
- Publication number
- CN103096062A CN103096062A CN2011103526180A CN201110352618A CN103096062A CN 103096062 A CN103096062 A CN 103096062A CN 2011103526180 A CN2011103526180 A CN 2011103526180A CN 201110352618 A CN201110352618 A CN 201110352618A CN 103096062 A CN103096062 A CN 103096062A
- Authority
- CN
- China
- Prior art keywords
- value
- prob1
- prob0
- partition
- formula
- 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.)
- Pending
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种算术解码方法,包括下列步骤。首先,读取当前区间值,并利用第一概率值与当前区间值计算出第一分割值。此外,查询系数表,以取得由第一概率值与第二概率值延伸出的多个概率乘积值。接着,利用所述多个概率乘积值、第二概率值与当前区间值计算多个第二分割值。此外,依据第一分割值与这些第二分割值,查看码流特征值所对应的特定区间值,并一次性解析出多个位元。藉此,将可依序将所述多个位元加入至一位元串中,并判别所述位元串是否符合一语法规则。
Description
技术领域
本发明涉及一种解码方法,尤其涉及一种算术解码方法。
背景技术
熵编码(entropy coding)是利用信号源的统计特性来进行码率压缩的编码。此外,视频解码标准常用的熵编码主要分为可变长度编码(variable length coding)和算术编码(arithmetic coding)两种。例如,现有VP8视频标准下的视频讯号可利用算术编码原理来进行编解码。
就VP8视频标准而言,解码器会接收依据算术编码原理编码而成的一码流。其中,码流是由多个语法元素(syntax element)衔接而成,而解码器主要是针对片段层(slice layer)以下的语法元素进行解码,以解出每一语法元素相应的位元串。此外,解码器是逐一解析出位元串中的每一位元,且解析每一位元的过程如图1A与图1B所示,其中图1A与图1B分别为用以说明现有算术解码的示意图。
如图1A所示,当解码器对一码流特征值value进行解码时,会先读入当前区间值range,并对当前区间值range进行一次乘法运算,以取得第一分割值split1,且如式(1)所示:
split1=1+(((range-1)*prob0)>>8) 式(1)
其中,prob0为在解码第一位元所使用的第一概率值。此外,码流特征值value为16位元,当前区间值range、第一分割值split1与第一概率值prob0皆为8位元,且128≤value≤255,0≤prob0≤255。
之后,解码器会利用第一分割值split1来比对码流特征值value。在此,由于码流特征值value与第一分割值split1的位元数不相同,因此在进行比对的过程中,第一分割值split1会先左移8位元以形成16位元的第一分割值SPLIT1,之后再与码流特征值value进行比较。
如图1A所示,当码流特征值value大于或是等于第一分割值SPLIT1时,亦即当value≥SPLIT1时,此时解码器将解码出位元“1”,并调整码流特征值value与当前区间值range。在此,如式(2)与式(3)所示,解码器必须对码流特征值value与当前区间值range进行一次减法运算,以取得第一子特征值value1与第一子区间值range1。
range1=range-split1 式(2)
value1=value-SPLIT1 式(3)
另一方面,如图1B所示,倘若码流特征值value是小于第一分割值SPLIT1,则解码器将解码出位元“0”。此外,如式(4)所示,第一子区间值range1将相等于第一分割值split1。此外,第一子特征值value1将相等于原先的码流特征值value。
range1=split 式(4)
之后,解码器将依据预设值128与第一子区间值range1的比较结果来判别是否要进行归一化(normalization)的处理。举例来说,倘若第一子区间值range1小于预设值,则将进行归一化。此时,如式(5)与式(6)所示,第一子区间值range1与第一子特征值value1都将左移1位元。
range1’=range1<<1 式(5)
value1’=value1<<1 式(6)
反之,倘若第一子区间值range1大于或等于预设值,则不进行归一化的处理。之后,解码器将进行下一位元的解码,直到所解出的位元串符合事先约定的语法规则。
换言之,对现有的算术解码法而言,每解出一个位元的过程都包含三个操作步骤:乘法、减法以及归一化。此外,由于解当前位元和解前一位元的结果直接相关,亦即解码过程具有上下文的相关性,因此如果要在一个时钟周期内解码2个位元或更多位元来提高解码速度,则必须在一个时钟周期内完成多次的乘法运算。
然而,乘法运算是通过硬件(hardware)来予以执行且最为耗费时间。且知,现有的算术解码方法会因应上下文相关性衍生出许多的乘法运算。因此,现有的算术解码方法限制了硬件设计的最高工作频率,也直接限制了整个解码器的最高性能。
发明内容
本发明提供一种算术解码方法,通过查询一系数表的方式,来降低以硬件来实现的乘法运算的使用次数。藉此,将可提高硬件设计的最高工作频率,进而提升解码器的最高性能。
本发明提出一种算术解码方法,包括下列步骤:读取当前区间值;利用第一概率值与当前区间值计算出第一分割值;查询系数表,以取得由第一概率值与第二概率值延伸出的多个概率乘积值;利用所述多个概率乘积值、第二概率值与当前区间值计算多个第二分割值;依据所述第一分割值与所述多个第二分割值,查看所述码流特征值所对应的一特定区间值,并一次性解析出多个位元;以及,依序将所述多个位元加入至一位元串中,并判别所述位元串是否符合一语法规则。
在本发明的一实施例中,上述的第一概率值、第二概率值以及当前区间值的位元数为N位元,码流特征值的位元数为2*N位元,且由第一概率值与第二概率值延伸出的所述多个概率乘积值包括prob0*prob1、prob0[N-1:0]*prob1、prob0[N-2:0]*prob1、prob0[N-3:0]*prob1、...、prob0[0]*prob1,其中prob0为所述第一概率值,prob1为所述第二概率值,且prob0[i:0]为prob0中的第i位元至第0位元,0≤i≤N-1。
在本发明的一实施例中,上述的利用所述多个概率乘积值、第二概率值与当前区间值计算所述多个第二分割值的步骤包括:依据当前区间值与所述多个概率乘积值之其一计算出第一计算值,其中CT1为第一计算值,range为当前区间值,且CT1=(range-1)*(prob0*prob1);提供一进位常数,C为进位常数,且0≤C≤N-1;依据进位常数、当前区间值与部分概率乘积值计算一差值,diff为差值,且diff=lowN{range`*prob0}*prob1,range`=range-1;判别差值是否大于0,倘若差值小于0,则调整进位常数并回到计算差值的步骤,倘若差值大于0,则将差值定义为第二计算值;以及,依据第一计算值、第二计算值、当前区间值以及第二概率值计算出所述多个第二分割值。
基于上述,本发明是将多个概率乘积值储存在一系数表中。藉此,在计算第二分割值的过程中,可先通过以软件来实现的查表方式来取得计算第二分割值所需的概率乘积值,之后再利用硬件来实现第二分割值的计算。藉此,本发明的算术解码方法将可提高硬件设计的最高工作频率,进而提升解码器的最高性能。
为让本发明的上述特征和优点能更明显易懂,下文特举实施例,并配合所附图作详细说明如下。
附图说明
图1A与图1B分别为用以说明现有算术解码的示意图。
图2为依据本发明的一实施例的算术解码方法的流程图。
图3为依据本发明的一实施例的步骤S260的细部流程图。
【主要元件符号说明】
range:当前区间值
value:码流特征值
split1:第一分割值
range1:第一子区间值
value1:第一子特征值
S210~S260:用以说明图2的算术解码方法的各个步骤流程
S310~S370:用以说明步骤S240的各个步骤流程
具体实施方式
本发明的算术解码方法主要是通过硬件与软件(software)的分工合作,来降低解码过程中乘法运算的使用次数。藉此,将可提高硬件设计的最高工作频率,进而提升解码器的最高性能。因此,在说明本发明实施例之前,将先就如何划分硬件与软件的工作分配来进行说明。
首先,以下将先对一个时钟周期内解码2个位元的计算式作等价推导变换,且该推导变换是可延伸推演至解多个位元的计算式。其中,以下的推导皆假设码流特征值value为16位元,且当前区间值、第一概率值与第二概率值皆为8位元。
在解码第一位元的过程中,参照式(1)来看,可利用当前区间值range以及第一概率值prob0计算出第一分割值split1。此外,如式(2)与式(4)所示,第一子区间值具有两种可能range0与range1,且如式(7)与式(8)所示:
range0=split1=1+(((range-1)*prob0)>>8) 式(7)
range1=range-split1=range-1-(((range-1)*prob0)>>8) 式(8)
再者,在经过归一化之后,第一子区间值具有四种情况range0N0、range0N1、range1N0、range1N1,并分别条列成如式(9)~式(12)所示:
range0N0=1+(((range-1)*prob0)>>8) 式(9)
range0N1=(1+(((range-1)*prob0)>>8))<<1
=2*(1+(((range-1)*prob0)>>8)) 式(10)
range1N0=range-1-(((range-1)*prob0)>>8) 式(11)
range1N1=(range-1-(((range-1)*prob0)>>8))<<1
=2*(range-1-(((range-1)*prob0)>>8)) 式(12)
在此,将(range-1)*prob0的16位元计算结果定义为参数值RP,且参数值RP的高8位元定义为参数值RP_H,参数值RP的低8位元定义为参数值RP_L。此外,将四种第一子区间值range0N0、range0N1、range1N0、range1N1左移8位元,亦即移除参数值RP右移8位元(RP>>8)的操作,则第一子区间值range0N0、range0N1、range1N0、range1N1将从8位元变成16位元,且第一子区间值计算式中的(range-1)*prob0将相等于“RP-RP_L”。依据上述,16位元的第一子区间值range0N0、range0N1、range1N0、range1N1的计算式可简化成如下所示:
range0N0=256+RP-RP_L 式(13)
range0N1=512+2*(RP-RP_L) 式(14)
range1N0=256*(range-1)-(RP-RP_L) 式(15)
range1N1=512*(range-1)-2*(RP-RP_L) 式(16)
接着,在解码第二位元的过程中,以第一子区间值range0N0、range0N1、range1N0、range1N1为基准来看,第二分割值将存在4种情况split0N0、split0N1、split1N0、split1N1,并分别条列成如式(17)~式(20)所示:
split0N0=1+(((range0N0-256)*prob1)>>16)
=1+(((RP-RP_L)*prob1)>>16) 式(17)
split0N1=1+(((range0N1-256)*prob1)>>16)
=1+(((256+2*(RP-RP_L))*prob1)>>16) 式(18)
split1N0=1+(((range1N0-256)*prob1)>>16)
=1+(((256*range-512-(RP-RP_L))*prob1)>>16) 式(19)
split1N1=1+(((range1N1-256)*prob1)>>16)
=1+(((512*range-768-2*(RP-RP_L))*prob1)>>16) 式(20)
其中,prob1为在解码第二位元所使用的概率值。此外,与式(1)相较,由于此时是将第二分割值split0N0、split0N1、split1N0、split1N1右移16位元,因此第二分割值split0N0、split0N1、split1N0、split1N1依旧是8位元。
在此,式(17)~式(20)中均含有(RP-RP_L)*prob1这一项运算式,且(RP-RP_L)*prob1=RP*prob1-RP_L*prob1。因此,若将RP*prob1定义为第一计算值CT1,RP_L*prob1定义为第二计算值CT2,则式(17)~式(20)将可简化成如式(21)~(24)所示:
split0N0=1+((CT1-CT2)>>16) 式(21)
split0N1=1+((256*prob1+2*(CT1-CT2))>>16) 式(22)
split1N0=1+((256*range*prob1-512*prob1-(CT1-CT2))>>16) 式(23)
split1N1=1+((512*range*prob1-768*prob1-2*(CT1-CT2))>>16) 式(24)
针对第一计算值CT1来看,依据参数值RP的定义,RP=(range-1)*prob0,因此第一计算值CT1如式(25)所示:
CT1=RP*prob1=(range-1)*prob0*prob1 式(25)
再者,针对第二计算值CT2来看,第二计算值CT2将相等于range`*prob0的低8位元与prob1的乘积,亦即range`*prob0=low8{range`*prob0}*prob1,其中range`=range-1,且range`与prob1均为8位元。此外,low8{range`*prob0}可扩展成如式(26)所示:
low8{[range`*prob0]}=range`[0]*prob0[7:0]+range`[1]*prob0[6:0]+range`[2]*prob0[5:0]+...+range`[7]*prob[0]-C 式(26)
其中,range`[i]用以表示参数值range`的第i位元。此外,依据式(26)来看,第二计算值CT2将可如式(27)所示:
CT2=RP_L*prob1
=range`[0]*prob0[7:0]*prob1[7:0]+
range`[1]*prob0[6:0]*prob1[7:0]+
range`[2]*prob0[5:0]*prob1[7:0]+
..................................................+
range`[7]*prob[0]*prob1[7:0]-
C*prob1[7:0]
=SUM-C*prob1[7:0] 式(27)
在此,C为第二计算值CT2的计算结果的进位常数。对于range*prob而言,由于其具有各自的变量域,因此计算结果的进位常数C是具有一定的范围,即0≤C≤7。且知,正确的进位常数C将致使式(27)所计算出的数值大于0。因此,在进位常数C的判断上,可将不同情况的进位常数C逐一带入式(27)中,直到式(27)所计算出的数值大于0为止。此时,所计算出的数值将为正确的计算结果,且也可藉此确认出进位常数C。
在实际计算上,可通过并行乘法运算先将C(M)*prob1计算出来,其中M的定义为{0xM00,M=7,6,5,...,0}。此外,假设一差值diff(M)=SUM-C(M)*prob1[7:0],并在计算C(M)*prob1的过程中,将C(M)*prob1与SUM进行比较。藉此,倘若当M=6且C(6)*prob1小于SUM时,则可确定出进位常数C等于6,且所计算出的差值diff(6)即为第二计算值CT2(=RP_L*prob1)。其中,上述运算的详细演算流程如下所述:
依据上述式(25)与式(27)来看,(RP-RP_L)*prob1将可简化成以当前区间值range、第一概率值prob0、第二概率值prob1以及常数C来表示。亦即,第二分割值split0N0、split0N1、split1N0、split1N1也可利用当前区间值range、第一概率值prob0、第二概率值prob1以及常数C来表示。换言之,在解第二位元时,第二分割值split0N0、split0N1、split1N0、split1N1的算式中皆包括prob0*prob1、prob0[7:0]*prob1、prob0[6:0]*prob1、prob0[5:0]*prob1、...、prob0[0]*prob1的乘法运算。且知,第一概率值prob0与第二概率值prob1是属于图片(picture)语法中所预先设定的常数。
因此,倘若先将由第一概率值prob0与第二概率值prob1延伸出的概率乘积值都先计算出来,例如:prob0*prob1、prob0[7:0]*prob1、prob0[6:0]*prob1、prob0[5:0]*prob1、...、prob0[0]*prob1,并将所计算出来的概率乘积值都储存在存储器中。藉此,在计算第二分割值的过程中,可先通过软件计算出多个概率乘积值并配置一系数表来储存所计算出的多个概率乘积值,之后硬件将可直接利用所查询出的概率乘积值来计算出第二分割值。
换言之,计算第二分割值所需的多数乘法运算都可利用以软件来实现的查表方式来完成。相对地,通过硬件来实现的乘法运算将可被减少。藉此,将可提高硬件设计的最高工作频率,进而提升解码器的最高性能。此外,上述第一分割值与第二分割值的推导皆已将解码主要的三个操作步骤:乘法、减法与归一化纳入考量。因此,依据上述推导公式,可先利用硬件与软件的分工合作计算出一个第一分割值与两个第二分割值,之后再利用第一分割值与第二分割值将当前区间值划分成四个子区间值。接着,藉由码流特征值value与四个子区间值的比对,将可于一个时钟周期内解码出2个位元。
在了解硬件与软件的分工合作后,以下将以上述内容为基础,说明本发明的实施例。
图2为依据本发明的一实施例的算术解码方法的流程图,其中所述算术解码方法是适用于一解码器,并用以将码流特征值value解码成相应的位元串。其中,以下所列举的当前区间值、第一概率值以及第二概率值皆为N位元,且所列举的码流特征值value为2*N位元。
参照图2,首先,于步骤S210,读取一当前区间值,并于步骤S220,利用第一概率值与当前区间值计算出第一分割值。举例来说,可先读取如图1A所示的当前区间值range,并通过式(28)计算出第一分割值split1,其中prob0为第一概率值。
split1=1+(((range-1)*prob0)>>N) 式(28)
接着,于步骤S230,查询一系数表,以取得由第一概率值与第二概率值延伸出的多个概率乘积值。举例来说,概率乘积值包括prob0*prob1、prob0[N-1:0]*prob1、prob0[N-2:0]*prob1、prob0[N-3:0]*prob1、......、prob0[0]*prob1,其中prob0[i:0]为第一概率值prob0中的第i位元至第0位元,0≤i≤N-1。
接着,如步骤S240所示,将利用多个概率乘积值、第二概率值与当前区间值计算多个第二分割值。举例来说,图3为依据本发明的一实施例的步骤S240的细部流程图。参照图3,在计算多个第二分割值的过程中,如步骤S310所示,首先,将依据当前区间值与多个概率乘积值之其一计算出第一计算值CT1,其中CT1=(range-1)*(prob0*prob1),而prob0*prob1则是查表所得的一概率乘积值。
之后,于步骤S320,提供一进位常数C,其中0≤C≤N-1。此外,于步骤S330,依据进位常数、当前区间值与部分的概率乘积值计算一差值diff,其中diff=lowN{range`*prob0}*prob1,且range`=range-1。为了确认进位常数C,将通过步骤S340,判别差值diff是否大于0。倘若差值小于0,则代表所选用的进位常数C并不正确,因此,此时将执行步骤S350,以调整进位常数C,并回到步骤S330来重新计算差值diff。反之,倘若差值diff大于0,则代表所选用的进位常数C是正确的,故此时,将执行步骤S360,以将差值diff定义为第二计算值CT2。
藉此,如步骤S370所示,将可依据第一计算值、第二计算值、当前区间值以及第二概率值计算出多个第二分割值。举例来说,以上述的式(21)~(24)为基础来看,当各个数值的位元数皆是以N或是2*N为定义来看的话,式(21)~(24)可推演成如式(29)~(32)所示。因此,在步骤S360中,可以参照式(29)~(32)来计算出多个第二分割值。
split21=1+((CT1-CT2)>>2*N) 式(29)
split22=1+((2N*prob1+2*(CT1-CT2))>>2*N) 式(30)
split23=1+((2N*range*prob1-2N+1*prob1-(CT1-CT2))>>2*N) 式(31)
split24=1+((2N+1*range*prob1-3*2N*prob1-2*(CT1-CT2))>>2*N) 式(32)
请继续参照图2。当取得多个第二分割值后,将于步骤S250,依据第一分割值与多个第二分割值,查看码流特征值所对应的特定区间值,并一次性解析出多个位元。举例来说,在一较佳实施例中,为了能在一个时钟周期内解码2个位元,可依据式(29)~(32)中的两算式计算出两个第二分割值,例如:split21与split23。藉此,将可利用第一分割值split1以及两个第二分割值split21与split23将当前区间值range划分成四个子区间值range21~range24。
接着,将进一步地判别码流特征值value是位在四个子区间值range21~range24中的哪一个。亦即,将从四个子区间值range21~range24中挑选出与码流特征值value相对应的子区间值,以作为特定区间值。此外,倘若特定区间值为range21,则解析出的多个位元将为{00}。再者,倘若特定区间值为range22,则解析出的多个位元将为{01}。相似地,倘若特定区间值为range23,则解析出的多个位元将为{10},且倘若特定区间值为range24,则解析出的多个位元将为{11}。
换言之,步骤S250的细部流程包括:利用第一分割值与多个第二分割值将当前区间值划分成多个子区间值;从多个子区间值中挑选出与码流特征值相对应的子区间值,以作为一特定区间值;以及,依据特定区间值取得多个位元。
再者,如步骤S260所示,依序多个位元加入至一位元串中,并判别位元串是否符合一语法规则。举例来说,可通过查询一对照表的方式取得符合所述语法规则的多个二进制串,并将位元串与多个二进制串进行比对。倘若位元串符合所述多个二进制串之其一时,则判定位元串为码流特征值value经解码后的数值。反之,当位元串皆不符合所述多个二进制串时,则将重复上述步骤流程,以进行下一位元的解码。换言之,步骤S260的细部流程包括:查询一对照表,以取得符合所述语法规则的多个二进制串;将位元串与多个二进制串进行比对;以及,当位元串符合多个二进制串之其一时,则将判定位元串为码流特征值value经解码后的数值。
综上所述,本发明是将由第一概率值与第二概率值延伸出的多个概率乘积值储存在一系数表中。藉此,在计算第二分割值的过程中,可先通过以软件来实现的查表方式来取得计算第二分割值所需的概率乘积值,之后再利用硬件来实现第二分割值的计算。如此一来,通过硬件来实现的乘法运算的使用次数将相对地降低。此外,本发明更利用硬件与软件的分工合作先计算出多个分割值,并利用所述多个分割值将当前区间值划分成多个子区间值。藉此,通过码流特征值与多个子区间值的比对,将可达到于一个时钟周期内解码出多个位元。因此,本发明的算术解码方法将可提高硬件设计的最高工作频率,进而提升解码器的最高性能。
虽然本发明已以实施例揭示如上,但其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,可作适当修改与等同替换,故本发明的保护范围应以权利要求书所界定的范围为准。
Claims (7)
1.一种算术解码方法,其特征在于,所述算数解码方法包括:
读取一当前区间值;
利用一第一概率值与所述当前区间值计算出一第一分割值;
查询一系数表,以取得由所述第一概率值与一第二概率值延伸出的多个概率乘积值;
利用所述多个概率乘积值、所述第二概率值与所述当前区间值计算多个第二分割值;
依据所述第一分割值与所述多个第二分割值,查看所述码流特征值所对应的一特定区间值,并一次性解析出多个位元;以及
依序将所述多个位元加入至一位元串中,并判别所述位元串是否符合一语法规则。
2.根据权利要求1所述的算术解码方法,其特征在于,其中利用所述第一概率值与所述当前区间值计算出所述第一分割值的步骤包括:
依据一第一公式计算所述第一分割值,且所述第一公式为split1=1+(((range-1)*prob0))>>N),其中split1为所述第一分割值,range为所述当前区间值,prob0为所述第一概率值,N为所述第一概率值的位元数。
3.根据权利要求1所述的算术解码方法,其特征在于,所述第一概率值、所述第二概率值以及所述当前区间值的位元数为N位元,所述码流特征值的位元数为2*N位元,且由所述第一概率值与所述第二概率值延伸出的所述多个概率乘积值包括prob0*prob1、prob0[N-1:0]*prob1、prob0[N-2:0]*prob1、prob0[N-3:0]*prob1、......、prob0[0]*prob1,其中prob0为所述第一概率值,prob1为所述第二概率值,且prob0[i:0]为prob0中的第i位元至第0位元,0≤i≤N-1。
4.根据权利要求3所述的算术解码方法,其特征在于,其中利用所述多个概率乘积值、所述第二概率值与所述当前区间值计算所述多个第二分割值的步骤包括:
依据所述当前区间值与所述多个概率乘积值之其一计算出一第一计算值,其中CT1为所述第一计算值,range为所述当前区间值,且CT1=(range-1)*(prob0*prob1);
提供一进位常数,C为所述进位常数,且0≤C≤N-1;
依据所述进位常数、所述当前区间值与部分所述多个概率乘积值计算一差值,diff为所述差值,且diff=lowN{range`*prob0}*prob1,range`=range-1;
判别所述差值是否大于0,倘若所述差值小于0,则调整所述进位常数并回到计算所述差值的步骤,倘若所述差值大于0,则将所述差值定义为一第二计算值;以及
依据所述第一计算值、所述第二计算值、所述当前区间值以及所述第二概率值计算出所述多个第二分割值。
5.根据权利要求4所述的算术解码方法,其特征在于,其中依据所述第一计算值、所述第二计算值、所述当前区间值以及所述第二概率值计算出所述多个第二分割值的步骤包括:
参照一第二公式至一第五公式之其二,来计算所述多个第二分割值,split21~split24为所述第二分割值,其中
所述第二公式为:
split21=1+((CT1-CT2)>>2*N),
所述第三公式为:
split22=1+((2N*prob1+2*(CT1-CT2))>>2*N),
所述第四公式为:
split23=1+((2N*range*prob1-2N+1*prob1-(CT1-CT2))>>2*N),
所述第五公式为:
split24=1+((2N+1*range*prob1-3*2N*prob1-2*(CT1-CT2))>>2*N)。
6.根据权利要求1所述的算术解码方法,其特征在于,其中依据所述第一分割值与所述多个第二分割值,查看所述码流特征值所对应的所述特定区间值,并一次性解析出所述多个位元的步骤包括:
利用所述第一分割值与所述多个第二分割值将所述当前区间值划分成多个子区间值;
从所述多个子区间值中挑选出与所述码流特征值相对应的子区间值,以作为一特定区间值;以及
依据所述特定区间值取得所述多个位元。
7.根据权利要求1所述的算术解码方法,其特征在于,其中依序将所述多个位元加入至所述位元串中,并判别所述位元串是否符合所述语法规则的步骤包括:
查询一对照表,以取得符合所述语法规则的多个二进制串;
将所述位元串与所述多个二进制串进行比对;以及
当所述位元串符合所述多个二进制串之其一时,则判定所述位元串为所述码流特征值经解码后的数值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103526180A CN103096062A (zh) | 2011-11-01 | 2011-11-01 | 算术解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2011103526180A CN103096062A (zh) | 2011-11-01 | 2011-11-01 | 算术解码方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103096062A true CN103096062A (zh) | 2013-05-08 |
Family
ID=48208137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2011103526180A Pending CN103096062A (zh) | 2011-11-01 | 2011-11-01 | 算术解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103096062A (zh) |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1658513A (zh) * | 2005-03-10 | 2005-08-24 | 复旦大学 | 通过查表实现的算术编解码方法 |
CN1983334A (zh) * | 2005-12-05 | 2007-06-20 | 华为技术有限公司 | 一种实现算术编解码的方法及装置 |
CN101626245A (zh) * | 2002-04-25 | 2010-01-13 | 三菱电机株式会社 | 数字信号编码装置、数字信号解码装置、数字信号算术编码方法及数字信号算术解码方法 |
CN101742309A (zh) * | 2008-11-11 | 2010-06-16 | 索尼株式会社 | 图像解码装置、图像解码方法以及计算机程序 |
WO2011000734A1 (en) * | 2009-07-01 | 2011-01-06 | Thomson Licensing | Methods for arithmetic coding and decoding |
CN102223149A (zh) * | 2010-04-14 | 2011-10-19 | 朱洪波 | 基于概率聚合的算术编码器 |
WO2011128268A1 (en) * | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Probability interval partioning encoder and decoder |
-
2011
- 2011-11-01 CN CN2011103526180A patent/CN103096062A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101626245A (zh) * | 2002-04-25 | 2010-01-13 | 三菱电机株式会社 | 数字信号编码装置、数字信号解码装置、数字信号算术编码方法及数字信号算术解码方法 |
CN1658513A (zh) * | 2005-03-10 | 2005-08-24 | 复旦大学 | 通过查表实现的算术编解码方法 |
CN1983334A (zh) * | 2005-12-05 | 2007-06-20 | 华为技术有限公司 | 一种实现算术编解码的方法及装置 |
CN101742309A (zh) * | 2008-11-11 | 2010-06-16 | 索尼株式会社 | 图像解码装置、图像解码方法以及计算机程序 |
WO2011000734A1 (en) * | 2009-07-01 | 2011-01-06 | Thomson Licensing | Methods for arithmetic coding and decoding |
WO2011128268A1 (en) * | 2010-04-13 | 2011-10-20 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Probability interval partioning encoder and decoder |
CN102223149A (zh) * | 2010-04-14 | 2011-10-19 | 朱洪波 | 基于概率聚合的算术编码器 |
Non-Patent Citations (2)
Title |
---|
张文妮,华赟,胡波: "一种改进的通过查表实现的算术编解码方法", 《复旦学报》, vol. 45, no. 1, 28 February 2006 (2006-02-28), pages 45 - 48 * |
王明明,叶甜春,马成炎,徐建华: "H.264/AVC自适应算术解码器结构设计", 《微电子学与计算机》, vol. 25, no. 7, 31 July 2008 (2008-07-31), pages 180 - 183 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6909265B2 (ja) | オーディオ/ビデオサンプルベクトルのピラミッドベクトル量子化インデクシング及びデインデクシングの方法及び装置 | |
US10528539B2 (en) | Optimized selection of hash collision chains | |
US9998145B2 (en) | Data processing method and device | |
US20150262062A1 (en) | Decision tree threshold coding | |
CN111310890B (zh) | 深度学习模型的优化方法、装置及终端设备 | |
CN109474281B (zh) | 数据编码、解码方法及装置 | |
US10694217B2 (en) | Efficient length limiting of compression codes | |
CN102103479A (zh) | 浮点运算器及浮点运算的处理方法 | |
CN106407201A (zh) | 一种数据处理方法及装置 | |
US20150262063A1 (en) | Decision tree processors | |
Lang | Back to the future: an even more nearly optimal cardinality estimation algorithm | |
CN106537914B (zh) | 通过限制的进位运算来执行算术编译的方法和设备 | |
US10565182B2 (en) | Hardware LZMA compressor | |
CN109981108B (zh) | 数据压缩方法、解压缩方法、装置及设备 | |
Goyal et al. | Computation-distortion characteristics of block transform coding | |
CN103096062A (zh) | 算术解码方法 | |
CN103491370A (zh) | 一元/k阶指数哥伦布码的解码方法及解码器 | |
CN115314121B (zh) | 量子通信方法、装置及电子设备 | |
CN100551066C (zh) | 编码器及自适应算术编码的实现方法及装置 | |
CN114301468A (zh) | 一种fse编码方法、装置、设备及存储介质 | |
CN100542047C (zh) | 一种指数Golomb编码的编码方法和装置 | |
CN103428502A (zh) | 一种解码方法及解码系统 | |
CN102545910B (zh) | 一种jpeg霍夫曼解码电路及其解码方法 | |
CN101547353B (zh) | 可变长码解码加速装置 | |
CN102084595A (zh) | 用于对规则点网中的矢量进行计数的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130508 |