CN109525249B - 编码解码方法、系统、可读存储介质及计算机设备 - Google Patents
编码解码方法、系统、可读存储介质及计算机设备 Download PDFInfo
- Publication number
- CN109525249B CN109525249B CN201811154102.3A CN201811154102A CN109525249B CN 109525249 B CN109525249 B CN 109525249B CN 201811154102 A CN201811154102 A CN 201811154102A CN 109525249 B CN109525249 B CN 109525249B
- Authority
- CN
- China
- Prior art keywords
- coding
- limit value
- interval
- lower limit
- character string
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 52
- 238000003860 storage Methods 0.000 title claims abstract description 8
- 238000004590 computer program Methods 0.000 claims description 6
- 238000005315 distribution function Methods 0.000 claims description 5
- 230000006870 function Effects 0.000 claims description 5
- 238000009825 accumulation Methods 0.000 claims description 3
- 238000004364 calculation method Methods 0.000 claims 1
- 238000012545 processing Methods 0.000 abstract description 14
- 238000010586 diagram Methods 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 230000002123 temporal effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000001351 cycling effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/40—Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
- H03M7/4006—Conversion to or from arithmetic code
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明提供一种编码解码方法、系统、可读存储介质及计算机设备,该编码方法包括:获取编码区间表,编码区间表中记录有各种组合形态下的多位字符串的编码区间,多位字符串包含预设数量个字符;获取待编码字符串,并按照每隔预设数量个字符划分一次的方式对待编码字符串进行划分,以得到多个子字符串;按照字符串的排列顺序,依序从编码区间表中获取每一子字符串对应的编码区间下限值,且每获取一次编码区间下限值,均更新一次编码区间表;将依序获取的所有编码区间下限值进行叠加,以得到待编码字符串的编码区间下限值。本发明当中的编码解码方法,能够同时针对多个字符进行编解码,适合并行处理,编码解码效率高。
Description
技术领域
本发明涉及数据处理技术领域,特别涉及一种编码解码方法、系统、可读存储介质及计算机设备。
背景技术
数据处理是系统工程和自动控制的基本环节。数据处理贯穿于社会生产和社会生活的各个领域。数据处理技术的发展及其应用的广度和深度,极大地影响着人类社会发展的进程。
数据编、解码是数据处理的典型代表,而算术编码作为一种基于概率统计特征的熵编码方法,可以逼近熵下界,具有很好的编码效率,广泛应用于序列或者报文压缩极易各种多媒体的编码标准。
现有技术当中,目前采用的算术编码一般采用串行处理方式,即只能单个字符逐一编码,效率低。
发明内容
基于此,本发明的目的是提供一种编码解码方法、系统、可读存储介质及计算机设备,以提高编码的效率。
根据本发明实施例的一种编码方法,包括:
获取编码区间表,所述编码区间表中记录有各种组合形态下的多位字符串的编码区间,所述多位字符串包含预设数量个字符;
获取待编码字符串,并按照每隔所述预设数量个字符划分一次的方式对所述待编码字符串进行划分,以得到多个子字符串;
按照字符串的排列顺序,依序从所述编码区间表中获取每一所述子字符串对应的编码区间下限值,且每获取一次所述编码区间下限值,均根据当前获取的编码区间下限值计算出当前子字符串的编码区间上限值,并根据所述当前子字符串的编码区间上限值,将对应的所述多位字符串的编码区间值进行更新;
将依序获取的所有所述编码区间下限值进行叠加,以得到所述待编码字符串的编码区间下限值。
本发明当中的编码方法,通过获取编码区间表,该编码区间表中记录有各种组合形态下的包含预设数量个字符的多位字符串的编码区间,并将待编码字符串按照每隔所述预设数量个字符划分一次的方式划分出多个子字符串,并按照字符串的排列顺序,依序从编码区间表中获取每一子字符串对应的编码区间下限值,且每获取一次即更新一次编码区间表,并将依序获取的所有编码区间下限值进行叠加,以最终得到待编码字符串的编码区间下限值(熵下界),因此本编码方法能够同时针对多个字符进行编解码,适合并行处理,编码效率高。
另外,根据本发明上述实施例的一种编码方法,还可以具有如下附加的技术特征:
进一步地,所述获取编码区间表的步骤包括:
将字符0和1进行组合,以得到各种组合形态下的所述多位字符串;
分别计算出每种所述多位字符串的初始编码区间下限值和编码区间长度,以得到每种所述多位字符串的初始编码区间上限值;
将每种所述多位字符串的初始编码区间下限值和初始编码区间上限值分别录入到预设表格当中,以得到所述编码区间表。
进一步地,所述根据所述当前子字符串的编码区间上限值,将对应的所述多位字符串的编码区间值进行更新的步骤包括:
根据所述当前子字符串的编码区间上限值和编码区间长度,计算出所述当前子字符串的编码区间下限值;
将对应的所述多位字符串的编码区间值分别更新为所述当前子字符串的编码区间上限值和编码区间下限值。
根据本发明实施例的一种解码方法,包括:
获取解码区间表,所述解码区间表中记录有各种组合形态下的多位字符串的解码区间,所述多位字符串包含预设数量个字符;
依次根据当前待解码的编码区间下限值所处的当前解码区间,输出与所述当前解码区间对应的目标多位字符串,且每输出一次字符串,均根据所述当前解码区间的区间下限值计算出所述当前解码区间的区间上限值,并更新所述当前解码区间的区间值,并将所述当前待解码的编码区间下限值减去所述当前解码区间的区间下限值的结果,作为下一次待解码的编码区间下限值,直到所有字符解码完成。
另外,根据本发明上述实施例的一种解码方法,还可以具有如下附加的技术特征:
进一步地,在解码过程当中,还包括:
按解码输出的先后顺序,将解码输出的所述目标多位字符串进行排列,以得到解码输出字符串。
进一步地,在所述按解码输出的先后顺序,将解码输出的所述目标多位字符串进行排列的步骤之后,还包括:
当所述解码输出字符串的长度达到预设值时,则判定所有字符解码完成。
根据本发明实施例的编码系统,包括:
编码表获取模块,用于获取编码区间表,所述编码区间表中记录有各种组合形态下的多位字符串的编码区间,所述多位字符串包含预设数量个字符;
字符串划分模块,用于获取待编码字符串,并按照每隔所述预设数量个字符划分一次的方式对所述待编码字符串进行划分,以得到多个子字符串;
下限值获取模块,用于按照字符串的排列顺序,依序从所述编码区间表中获取每一所述子字符串对应的编码区间下限值,且每获取一次所述编码区间下限值,均根据当前获取的编码区间下限值计算出当前子字符串的编码区间上限值,并根据所述当前子字符串的编码区间上限值,将对应的所述多位字符串的编码区间值进行更新;
下限值累加模块,将依序获取的所有所述编码区间下限值进行叠加,以得到所述待编码字符串的编码区间下限值。
根据本发明实施例的解码系统,包括:
解码表获取模块,用于获取解码区间表,所述解码区间表中记录有各种组合形态下的多位字符串的解码区间,所述多位字符串包含预设数量个字符;
解码模块,用于依次根据当前待解码的编码区间下限值所处的当前解码区间,输出与所述当前解码区间对应的目标多位字符串,且每输出一次字符串,均根据所述当前解码区间的区间下限值计算出所述当前解码区间的区间上限值,并更新所述当前解码区间的区间值,并将所述当前待解码的编码区间下限值减去所述当前解码区间的区间下限值的结果,作为下一次待解码的编码区间下限值,直到所有字符解码完成。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时如实现上述的方法。
本发明还提出一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述的方法。
本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
图1为本发明第一实施例中的编码方法的流程图;
图2为本发明第一实施例中获取编码区间表的具体实施流程图;
图3为本发明第一实施例中更新编码区间表的具体实施流程图;
图4为本发明第二实施例中的解码方法的流程图;
图5为本发明第三实施例中的编码系统的结构框图;
图6为本发明第四实施例中的解码系统的结构框图。
主要元件字符说明:
以下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的若干实施例。但是,本发明可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本发明的公开内容更加透彻全面。
需要说明的是,当元件被称为“固设于”另一个元件,它可以直接在另一个元件上或者也可以存在居中的元件。当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件或者可能同时存在居中元件。本文所使用的术语“垂直的”、“水平的”、“左”、“右”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
请参阅图1,所示为本发明第一实施例中的编码方法,包括步骤S01至步骤S02。
步骤S01,获取编码区间表,所述编码区间表中记录有各种组合形态下的多位字符串的编码区间,所述多位字符串包含预设数量个字符。
其中,各种组合形态下的多位字符串是指,将预设数量个字符进行各种可能性的排列组合得到的字符串。例如以字符0和1进行组合,则各种组合形态下的多位字符串包括00、01、10及11。
此外,编码区间由编码区间下限值和编码区间上限值组成,且一个字符串的编码区间是由该字符串的区间长度和该字符串的区间下限决定的,即一个字符串的编码区间可表示为interval=[ivlLow,ivlLow+ivlRange],ivlLow表示字符串的区间下限,ivlRange表示字符串的区间长度,而ivlLow+ivlRange即为字符串的区间上限。
作为一种具体的实施方式,请参阅图2,所示为获取编码区间表的具体实施流程图,包括步骤S011至步骤S013。
步骤S011,将字符0和1进行组合,以得到各种组合形态下的所述多位字符串。
步骤S012,分别计算出每种所述多位字符串的初始编码区间下限值和编码区间长度,以得到每种所述多位字符串的初始编码区间上限值。
由泛过程理论,随机序列x1,x2,...,xn的概率函数和分布函数如下:
即Hn(x1,x2,...,xn)=Ln(x1,x2,...,xn)+pn(x1,x2,...,xn),其中,wi为第i个字符的编码系数,pn为随机序列的概率,也为随机序列的编码区间长度,Ln为随机序列的编码区间下限值,Hn为随机序列的编码区间上限值。
基于上述公式(1)至公式(3),可计算出各组合形态下的多位字符串的初始编码区间下限值和区间长度,也即得到了各组合形态下的多位字符串的初始编码区间,根据算术编码的原理,在后续编码过程当中,将要不断更新各组合形态下的多位字符串的编码区间,以逼近熵下界。
步骤S013,将每种所述多位字符串的初始编码区间下限值和初始编码区间上限值分别录入到预设表格当中,以得到所述编码区间表。
步骤S02,获取待编码字符串,并按照每隔所述预设数量个字符划分一次的方式对所述待编码字符串进行划分,以得到多个子字符串。
举例来讲,当多位字符串包含2个字符时,则按照每隔2个字符划分一次的方式对待编码字符串进行划分,以将待编码字符串划分成多个2位字符的子字符串,这样就可以直接到编码区间表中查询获取每一子字符串的编码区间下限值。例如,当子字符串为01时,则可以直接将编码区间表中为01的多位字符串的当前编码区间下限值,作为该子字符串01的下限值。
步骤S03,按照字符串的排列顺序,依序从所述编码区间表中获取每一所述子字符串对应的编码区间下限值,且每获取一次所述编码区间下限值,均根据当前获取的编码区间下限值计算出当前子字符串的编码区间上限值,并根据所述当前子字符串的编码区间上限值,将对应的所述多位字符串的编码区间值进行更新。
作为一种具体的实施方式,请参阅图3,所示为更新编码区间值的具体实施流程图,包括步骤S031至步骤S032。
步骤S031,根据所述当前子字符串的编码区间上限值和编码区间长度,计算出所述当前子字符串的编码区间下限值。
其中,所述当前子字符串为当前正在处理的子字符串,所述当前获取的编码区间下限值为从所述编码区间表中获取的所述当前子字符串对应的编码区间下限值。
步骤S032,将对应的所述多位字符串的编码区间值分别更新为所述当前子字符串的编码区间上限值和编码区间下限值。
步骤S04,将依序获取的所有所述编码区间下限值进行叠加,以得到所述待编码字符串的编码区间下限值。
需要指出的是,所述待编码字符串的编码区间下限值为所述待编码字符串编码的最终输出值。
以下以同步处理两位字符为例来举例阐述本编码方法:
1)、构建编码区间表,两个二进制字符,总的有4种组合,分别为00,01,10,11。根据分布函数有:
L2(x1,x2)=ω1F(x1-1)+ω1ω2F(x2-1)p(x1)
然后将四种组合给出L2(x1,x2)的编码区间下限值为:
L2(0,0)=0ω1+0ω1ω2p(0)=0
L2(0,1)=0ω1+ω1ω2p(0)2=ω1ω2p(0)2
L2(1,0)=ω1p(0)+0ω1ω2p(1)=ω1p(0)
L2(1,1)=ω1p(0)+ω1ω2p(0)p(1)
于是编码区间表为:
2)、定义待编码字符串的前两位字符(可能为00、01、10或11)的编码区间下限值为l1,2(00|01|10|11)。编码时,根据待编码的两个字符的形态查表,于是:
l1,2(00|01|10|11)=0|ω1ω2p(0)2|ω1p(0)|(ω1p(0)+ω1ω2p(0)p(1))
3)、将查表得到的编码区间下限值累加到ln中,即将每两位字符查到的编码区间下限值进行累加,最终输出累加值ln:
即ln=ln+l1,2(00|01|10|11)
4)、更新编码区间表,根据分布函数有:
其中,H2(x3,x4)为前两位字符的编码区间上限值,若系数为动态系数,且ω1,ω2,ω3,ω4,p(x1),p(x2)均已知,且待编码的两位字符也已知,可由H2(x3,x4)将编码区间表值进行更新;若系数为静态系数,则有:l3,4(00|01|10|11)=ω1ω2p(x1)p(x2)l1,2(00|01|10|11),其中,l3,4(00|01|10|11)为前两位字符的编码区间下限值。
5)、再获取两个字符,并循环步骤2)到步骤4),直到处理完所有字符,则ln为编码结果。
综上,本发明上述实施例当中的编码方法,通过获取编码区间表,该编码区间表中记录有各种组合形态下的包含预设数量个字符的多位字符串的编码区间,并将待编码字符串按照每隔所述预设数量个字符划分一次的方式划分出多个子字符串,并按照字符串的排列顺序,依序从编码区间表中获取每一子字符串对应的编码区间下限值,且每获取一次即更新一次编码区间表,并将依序获取的所有编码区间下限值进行叠加,以最终得到待编码字符串的编码区间下限值(熵下界),因此本编码方法能够同时针对多个字符进行编解码,适合并行处理,编码效率高。
请参阅图4,所示为本发明第二实施例中的解码方法,包括步骤S11至步骤S17。
步骤S11,获取解码区间表,所述解码区间表中记录有各种组合形态下的多位字符串的解码区间,所述多位字符串包含预设数量个字符。
需要指出的是,由于解码区间与编码区间相对应,因此所述解码区间表与本发明第一实施例当中的编码区间表一致。
步骤S12,依次根据当前待解码的编码区间下限值所处的当前解码区间,输出与所述当前解码区间对应的目标多位字符串,且每输出一次字符串,均根据所述当前解码区间的区间下限值计算出所述当前解码区间的区间上限值,并更新所述当前解码区间的区间值,并将所述当前待解码的编码区间下限值减去所述当前解码区间的区间下限值的结果,作为下一次待解码的编码区间下限值,直到所有字符解码完成。
在解码过程当中,还包括:
按解码输出的先后顺序,将解码输出的所述目标多位字符串进行排列,以得到解码输出字符串;
当所述解码输出字符串的长度达到预设值时,则判定所有字符解码完成。
以下以同步处理两位字符为例来举例阐述本解码方法:
1)、根据字符0和1的概率,构建编码区间表,同编码过程的步骤1)。
2)、通过比较初始ln所在解码区间,并输出对应的组合形态。
例如,当ln∈[0,ω1ω2p(0)2)时,输出00;
当ln∈[ω1ω2p(0)2,ω1p(0))时,输出01;
当ln∈[ω1p(0),ω1p(0)+ω1ω2p(0)p(1))时,输出10;
当
ln∈[ω1p(0)+ω1ω2p(0)p(1),ω1p(0)+ω1ω2p(0)p(1)+ω1ω2p(1)p(1))时,输出11。
3)、更新编码区间表,同编码步骤4)。
4)、并累减ln,即ln=ln-l1,2(00|01|10|11),并循环步骤2)到步骤4),直到所有字符解码完成。
综上,本实施例当中的解码方法,可同时针对多个字符进行解码,适合并行处理,解码效率高。
可以理解的,由上面的编、解码步骤可得出基于两个字符的系数编码的时间复杂度为若基于k个字符的系数编码时间复杂度为:/>很明显,k越大,本算法的时间复杂度越低;k=1时系数区间就是概率区间。
本发明另一方面还提供一种编码系统,请查阅图5,所示为本发明第三实施例中的编码系统,包括:
编码表获取模块11,用于获取编码区间表,所述编码区间表中记录有各种组合形态下的多位字符串的编码区间,所述多位字符串包含预设数量个字符;
字符串划分模块12,用于获取待编码字符串,并按照每隔所述预设数量个字符划分一次的方式对所述待编码字符串进行划分,以得到多个子字符串;
下限值获取模块13,用于按照字符串的排列顺序,依序从所述编码区间表中获取每一所述子字符串对应的编码区间下限值,且每获取一次所述编码区间下限值,均根据当前获取的编码区间下限值计算出当前子字符串的编码区间上限值,并根据所述当前子字符串的编码区间上限值,将对应的所述多位字符串的编码区间值进行更新;
下限值累加模块14,将依序获取的所有所述编码区间下限值进行叠加,以得到所述待编码字符串的编码区间下限值。
进一步地,所述编码表获取模块11包括:
字符组合单元111,用于将字符0和1进行组合,以得到各种组合形态下的所述多位字符串;
区间值计算单元112,用于分别计算出每种所述多位字符串的初始编码区间下限值和编码区间长度,以得到每种所述多位字符串的初始编码区间上限值;
区间值录入单元113,用于将每种所述多位字符串的初始编码区间下限值和初始编码区间上限值分别录入到预设表格当中,以得到所述编码区间表。
进一步地,所述下限值获取模块13包括:
下限值计算单元131,用于根据所述当前子字符串的编码区间上限值和编码区间长度,计算出所述当前子字符串的编码区间下限值;
区间值更新单元132,将对应的所述多位字符串的编码区间值分别更新为所述当前子字符串的编码区间上限值和编码区间下限值。
综上,本发明上述实施例当中的编码系统,通过获取编码区间表,该编码区间表中记录有各种组合形态下的包含预设数量个字符的多位字符串的编码区间,并将待编码字符串按照每隔所述预设数量个字符划分一次的方式划分出多个子字符串,并按照字符串的排列顺序,依序从编码区间表中获取每一子字符串对应的编码区间下限值,且每获取一次即更新一次编码区间表,并将依序获取的所有编码区间下限值进行叠加,以最终得到待编码字符串的编码区间下限值(熵下界),因此本编码方法能够同时针对多个字符进行编解码,适合并行处理,编码效率高。
本发明另一方面还提供一种解码系统,请查阅图6,所示为本发明第四实施例中的解码系统,包括:
解码表获取模块21,用于获取解码区间表,所述解码区间表中记录有各种组合形态下的多位字符串的解码区间,所述多位字符串包含预设数量个字符;
解码模块22,用于依次根据当前待解码的编码区间下限值所处的当前解码区间,输出与所述当前解码区间对应的目标多位字符串,且每输出一次字符串,均根据所述当前解码区间的区间下限值计算出所述当前解码区间的区间上限值,并更新所述当前解码区间的区间值,并将所述当前待解码的编码区间下限值减去所述当前解码区间的区间下限值的结果,作为下一次待解码的编码区间下限值,直到所有字符解码完成。
进一步地,在解码过程当中,所述解码系统还包括:
字符串排列模块23,用于按解码输出的先后顺序,将解码输出的所述目标多位字符串进行排列,以得到解码输出字符串。
结束判断单元24,用于当所述解码输出字符串的长度达到预设值时,则判定所有字符解码完成。
综上,本实施例当中的解码系统,可同时针对多个字符进行解码,适合并行处理,解码效率高。
本发明还提出一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述的编码、解码方法。
本发明还提出一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述的编码、解码方法。
本领域技术人员可以理解,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。
计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或它们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。
Claims (7)
1.一种编码方法,其特征在于,包括:
获取编码区间表,所述编码区间表中记录有各种组合形态下的多位字符串的编码区间,所述多位字符串包含预设数量个字符;
获取待编码字符串,并按照每隔所述预设数量个字符划分一次的方式对所述待编码字符串进行划分,以得到多个子字符串;
按照字符串的排列顺序,依序从所述编码区间表中获取每一所述子字符串对应的编码区间下限值,且每获取一次所述编码区间下限值,均根据当前获取的编码区间下限值计算出当前子字符串的编码区间上限值,并根据所述当前子字符串的编码区间上限值,将对应的所述多位字符串的编码区间值进行更新;
其中,所述根据所述当前子字符串的编码区间上限值,将对应的所述多位字符串的编码区间值进行更新的步骤包括:
根据所述当前子字符串的编码区间上限值和编码区间长度,计算出所述当前子字符串的编码区间下限值;
将对应的所述多位字符串的编码区间值分别更新为所述当前子字符串的编码区间上限值和编码区间下限值;
将依序获取的所有所述编码区间下限值进行叠加,以得到所述待编码字符串的编码区间下限值;
所述获取编码区间表的步骤包括:
将字符0和1进行组合,以得到各种组合形态下的所述多位字符串;
分别计算出每种所述多位字符串的初始编码区间下限值和编码区间长度,以得到每种所述多位字符串的初始编码区间上限值;
将每种所述多位字符串的初始编码区间下限值和初始编码区间上限值分别录入到预设表格当中,以得到所述编码区间表;
其中,由泛过程理论,随机序列的概率函数和分布函数如下:
(1)
(2)
(3)
即,其中,wi为第i个字符的编码系数,/>为随机序列的概率,也为随机序列的编码区间长度,/>为随机序列的编码区间下限值,/>为随机序列的编码区间上限值;
基于上述公式(1)至公式(3),可计算出各组合形态下的多位字符串的初始编码区间下限值和区间长度,也即得到了各组合形态下的多位字符串的初始编码区间。
2.一种解码方法,应用于权利要求1所述的编码方法,其特征在于,包括:
获取解码区间表,所述解码区间表中记录有各种组合形态下的多位字符串的解码区间,所述多位字符串包含预设数量个字符;
依次根据当前待解码的编码区间下限值所处的当前解码区间,输出与所述当前解码区间对应的目标多位字符串,且每输出一次字符串,均根据所述当前解码区间的区间下限值计算出所述当前解码区间的区间上限值,并更新所述当前解码区间的区间值,并将所述当前待解码的编码区间下限值减去所述当前解码区间的区间下限值的结果,作为下一次待解码的编码区间下限值,直到所有字符解码完成;
在解码过程当中,还包括:
按解码输出的先后顺序,将解码输出的所述目标多位字符串进行排列,以得到解码输出字符串。
3.根据权利要求2所述的解码方法,其特征在于,在所述按解码输出的先后顺序,将解码输出的所述目标多位字符串进行排列的步骤之后,还包括:
当所述解码输出字符串的长度达到预设值时,则判定所有字符解码完成。
4.一种编码系统,其特征在于,包括:
编码表获取模块,用于获取编码区间表,所述编码区间表中记录有各种组合形态下的多位字符串的编码区间,所述多位字符串包含预设数量个字符;
所述编码表获取模块包括:
字符组合单元,用于将字符0和1进行组合,以得到各种组合形态下的所述多位字符串;
区间值计算单元,用于分别计算出每种所述多位字符串的初始编码区间下限值和编码区间长度,以得到每种所述多位字符串的初始编码区间上限值;
区间值录入单元,用于将每种所述多位字符串的初始编码区间下限值和初始编码区间上限值分别录入到预设表格当中,以得到所述编码区间表;
字符串划分模块,用于获取待编码字符串,并按照每隔所述预设数量个字符划分一次的方式对所述待编码字符串进行划分,以得到多个子字符串;
下限值获取模块,用于按照字符串的排列顺序,依序从所述编码区间表中获取每一所述子字符串对应的编码区间下限值,且每获取一次所述编码区间下限值,均根据当前获取的编码区间下限值计算出当前子字符串的编码区间上限值,并根据所述当前子字符串的编码区间上限值,将对应的所述多位字符串的编码区间值进行更新;
所述下限值获取模块包括:
下限值计算单元,用于根据所述当前子字符串的编码区间上限值和编码区间长度,计算出所述当前子字符串的编码区间下限值;
区间值更新单元,将对应的所述多位字符串的编码区间值分别更新为所述当前子字符串的编码区间上限值和编码区间下限值;
下限值累加模块,将依序获取的所有所述编码区间下限值进行叠加,以得到所述待编码字符串的编码区间下限值;
其中,由泛过程理论,随机序列的概率函数和分布函数如下:
(1)
(2)
(3)
即,其中,wi为第i个字符的编码系数,/>为随机序列的概率,也为随机序列的编码区间长度,/>为随机序列的编码区间下限值,/>为随机序列的编码区间上限值;
基于上述公式(1)至公式(3),可计算出各组合形态下的多位字符串的初始编码区间下限值和区间长度,也即得到了各组合形态下的多位字符串的初始编码区间。
5.一种解码系统,应用于权利要求4所述的编码系统,其特征在于,包括:
解码表获取模块,用于获取解码区间表,所述解码区间表中记录有各种组合形态下的多位字符串的解码区间,所述多位字符串包含预设数量个字符;
解码模块,用于依次根据当前待解码的编码区间下限值所处的当前解码区间,输出与所述当前解码区间对应的目标多位字符串,且每输出一次字符串,均根据所述当前解码区间的区间下限值计算出所述当前解码区间的区间上限值,并更新所述当前解码区间的区间值,并将所述当前待解码的编码区间下限值减去所述当前解码区间的区间下限值的结果,作为下一次待解码的编码区间下限值,直到所有字符解码完成;
在解码过程当中,所述解码系统还包括:
字符串排列模块,用于按解码输出的先后顺序,将解码输出的所述目标多位字符串进行排列,以得到解码输出字符串。
6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1所述的方法。
7.一种计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811154102.3A CN109525249B (zh) | 2018-09-30 | 2018-09-30 | 编码解码方法、系统、可读存储介质及计算机设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811154102.3A CN109525249B (zh) | 2018-09-30 | 2018-09-30 | 编码解码方法、系统、可读存储介质及计算机设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109525249A CN109525249A (zh) | 2019-03-26 |
CN109525249B true CN109525249B (zh) | 2023-10-27 |
Family
ID=65771584
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811154102.3A Active CN109525249B (zh) | 2018-09-30 | 2018-09-30 | 编码解码方法、系统、可读存储介质及计算机设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109525249B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110309374A (zh) * | 2019-05-22 | 2019-10-08 | 深圳市金泰克半导体有限公司 | 一种解析方法、系统、终端设备及计算机可读存储介质 |
CN112199922B (zh) * | 2020-08-25 | 2023-08-22 | 中国物品编码中心 | 编码方法、装置、设备及计算机可读存储介质 |
CN112565776B (zh) * | 2021-02-25 | 2021-07-20 | 北京城建设计发展集团股份有限公司 | 一种视频转码压缩方法及系统 |
CN113098524B (zh) * | 2021-03-22 | 2024-08-06 | 北京达佳互联信息技术有限公司 | 信息编码方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101682337A (zh) * | 2007-05-16 | 2010-03-24 | 汤姆森特许公司 | 编码和解码信号的装置和方法 |
CN101771879A (zh) * | 2010-01-28 | 2010-07-07 | 清华大学 | 基于cabac的并行归一化编码实现电路及编码方法 |
JP2012227973A (ja) * | 2012-08-21 | 2012-11-15 | Sony Corp | 復号装置および方法、並びに復号画像情報 |
CN103248896A (zh) * | 2013-05-15 | 2013-08-14 | 中国科学院光电技术研究所 | Mq算术编码器 |
CN106445890A (zh) * | 2016-07-07 | 2017-02-22 | 湖南千年华光软件开发有限公司 | 数据处理方法 |
CN106452451A (zh) * | 2016-08-22 | 2017-02-22 | 湖南千年华光软件开发有限公司 | 数据处理方法及装置 |
CN107846263A (zh) * | 2017-11-01 | 2018-03-27 | 中国电子科技集团公司第二十八研究所 | 一种基于分段计算的信源二进制算术编码方法和编码系统 |
CN108391129A (zh) * | 2018-04-25 | 2018-08-10 | 西安万像电子科技有限公司 | 数据编码方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10180880B2 (en) * | 2013-07-31 | 2019-01-15 | International Business Machines Corporation | Adaptive rebuilding rates based on sampling and inference |
-
2018
- 2018-09-30 CN CN201811154102.3A patent/CN109525249B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101682337A (zh) * | 2007-05-16 | 2010-03-24 | 汤姆森特许公司 | 编码和解码信号的装置和方法 |
CN101771879A (zh) * | 2010-01-28 | 2010-07-07 | 清华大学 | 基于cabac的并行归一化编码实现电路及编码方法 |
JP2012227973A (ja) * | 2012-08-21 | 2012-11-15 | Sony Corp | 復号装置および方法、並びに復号画像情報 |
CN103248896A (zh) * | 2013-05-15 | 2013-08-14 | 中国科学院光电技术研究所 | Mq算术编码器 |
CN106445890A (zh) * | 2016-07-07 | 2017-02-22 | 湖南千年华光软件开发有限公司 | 数据处理方法 |
CN106452451A (zh) * | 2016-08-22 | 2017-02-22 | 湖南千年华光软件开发有限公司 | 数据处理方法及装置 |
CN107846263A (zh) * | 2017-11-01 | 2018-03-27 | 中国电子科技集团公司第二十八研究所 | 一种基于分段计算的信源二进制算术编码方法和编码系统 |
CN108391129A (zh) * | 2018-04-25 | 2018-08-10 | 西安万像电子科技有限公司 | 数据编码方法及装置 |
Non-Patent Citations (4)
Title |
---|
HEVC熵编码器的VLSI架构设计;陈成;《中国优秀博硕士学位论文全文数据库(硕士)信息科技辑》;20171115;I136-256 * |
Nopphol Noikaew ; Orachat Chitsobhuk.Performance Improvement for Arithmetic Coder using Parallel Symbol Encoding in JPEG2000.《2008 5th International Conference on Electrical Engineering/Electronics, Computer, Telecommunications and Information Technology》.2008,1073-1076. * |
何东健主编.2 算术编码原理.《数字图像处理》.2015, * |
李小平,赵丰年,徐建强等编著.4.2.3算术编码.《多媒体技术》.2008, * |
Also Published As
Publication number | Publication date |
---|---|
CN109525249A (zh) | 2019-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109525249B (zh) | 编码解码方法、系统、可读存储介质及计算机设备 | |
TWI396446B (zh) | 情境適應性二元算術編碼與解碼之系統與方法 | |
US7408487B2 (en) | Method and apparatus for CABAC-based encoding having high compression ratio using improved context model selection and method and apparatus for CABAC-based decoding | |
CN116681036B (zh) | 基于数字孪生的工业数据存储方法 | |
KR20040005991A (ko) | 웨이블릿 변환 계수의 코딩을 위한 방법 및 장치 | |
CN108259911A (zh) | 一种OLED屏Demura数据无损压缩、解压缩方法 | |
CN109587483B (zh) | 码流提取模块 | |
US5594435A (en) | Permutation-based data compression | |
JPH08316843A (ja) | 符号化装置 | |
CN109474281A (zh) | 数据编码、解码方法及装置 | |
EP3182710B1 (en) | Adaptive binarizer selection for image and video coding | |
CN108429916B (zh) | 图像编码方法及装置 | |
CN116192154B (zh) | 数据压缩及数据解压方法、装置、电子设备、芯片 | |
US7872596B2 (en) | Dictionary-based compression | |
CN102724505A (zh) | Jpeg_ls游程编码fpga实现方法 | |
Abdulmunem et al. | Advanced Intelligent Data Hiding Using Video Stego and Convolutional Neural Networks | |
US20030225803A1 (en) | Arithmetic decoding of an arithmetically encoded information signal | |
JP2003264703A (ja) | データ符号化装置、データ符号化方法、及びそのプログラム | |
CN115913248A (zh) | 一种直播软件开发数据智能管理系统 | |
CN112449201B (zh) | 解码方法、编码方法、相应的装置、电子设备及存储介质 | |
Adams | An efficient progressive coding method for arbitrarily-sampled image data | |
JPH06152986A (ja) | 画像圧縮方法及び装置 | |
JP3350385B2 (ja) | 符号生成方法および符号化方法 | |
CN112911314B (zh) | 一种熵编码器的编码方法及熵编码器 | |
JPH07114499B2 (ja) | データ符号化方法 |
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 |