CN107645665B - 一种WebP熵编码的方法及装置 - Google Patents
一种WebP熵编码的方法及装置 Download PDFInfo
- Publication number
- CN107645665B CN107645665B CN201710930429.4A CN201710930429A CN107645665B CN 107645665 B CN107645665 B CN 107645665B CN 201710930429 A CN201710930429 A CN 201710930429A CN 107645665 B CN107645665 B CN 107645665B
- Authority
- CN
- China
- Prior art keywords
- binary
- combination
- interval
- probability
- consecutive
- 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 56
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 37
- 238000012545 processing Methods 0.000 claims description 13
- 238000004590 computer program Methods 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 claims description 5
- 238000009472 formulation Methods 0.000 claims description 2
- 239000000203 mixture Substances 0.000 claims description 2
- 230000008569 process Effects 0.000 abstract description 13
- 230000009286 beneficial effect Effects 0.000 abstract description 2
- 238000010586 diagram Methods 0.000 description 8
- 230000009471 action Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001052 transient effect Effects 0.000 description 1
Images
Landscapes
- Mobile Radio Communication Systems (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请公开了一种WebP熵编码的方法,包括:依照预设规则制定组合概率表;从接收到的二进制序列中读取n个连续二进制位;在该组合概率表中查找到该n个连续二进制位的组合概率;根据该组合概率确定对应的编码算法,并根据预设间隔通过该编码算法得到当前间隔。该方法通过先依照预设规则制定组合概率表,然后从接收到的二进制序列中读取n个连续二进制位,再查找到对应的组合概率,最后根据组合概率确定对应的编码算法,并根据预设间隔通过该编码算法一次性计算n个连续二进制位对应的当前间隔,使得整个WebP熵编码过程的速度明显提升。本申请同时还提供了一种WebP熵编码的装置、设备及计算机可读存储设备,具有上述有益效果。
Description
技术领域
本申请涉及WebP领域,特别涉及一种WebP熵编码的方法、装置、设备及计算机可读存储设备。
背景技术
随着手机、平板、数码相机等图像采集设备的发展及图片像素规模提升,导致互联网上图像数据规模呈指数级增长,这给数据中心服务器的数据存储和网络带宽带来严重的挑战。为了改变这一现状,Google在2010年发布了一种新的图像压缩格式WebP,能够在不影响用户体验的情况下减少图片文件的大小。该压缩格式可在相同图片质量的情况下,减少JPEG图片文件大小的39.8%,减少PNG图片大小的26%,减少GIF图片大小的64%。
WebP熵编码算法流程分为两大步骤,一是压缩,主要对图像进行宏块划分、预测、变换、量化,输出的是量化后的残差数据;二为编码,对输入的残差数据进行二值化及算数编码,二值化算法通过二值化编码树将非零的残差数据转化为一个不定长的二进制序列,算术编码将该二进制序列表示为实数0和1之间的一个间隔(Interval)。
但是,由于WebP具有更高的算法复杂度,导致了额外的性能开销,例如,与JPEG格式相比,编码速度慢10倍,解码速度慢1.5倍。
因此,如何提升WebP熵编码的速度是本领域技术人员目前需要解决的技术问题。
发明内容
本申请的目的是提供一种WebP熵编码的方法、装置、设备及计算机可读存储设备,该方法能够提升WebP熵编码的速度。
为解决上述技术问题,本申请提供一种WebP熵编码的方法,该方法包括:
依照预设规则制定组合概率表;
从接收到的二进制序列中读取n个连续二进制位;
根据所述n个连续二进制位的组合状态在所述组合概率表中查找到所述n个连续二进制位的组合概率;
根据所述组合概率确定对应的编码算法,并根据预设间隔通过所述编码算法得到当前间隔;
其中,n为预设的大于1的整数。
可选的,所述从接收到的二进制序列中读取n个连续二进制位,包括:
从接收到的m个残差数据中获取到非零残差数据的位置;
对所述m个残差数据进行二值化编码处理,得到初始二进制序列;
根据所述位置从所述初始二进制序列中获取到所述非零残差数据对应的二进制序列;
从所述二进制序列中读取n个连续二进制位;
其中,m为预设的大于1的整数。
可选的,所述依照预设规则制定组合概率表,包括:
获取到n个连续二进制位各自对应的概率表;
列举所述n个连续二进制位的2n种组合状态,并根据所述概率表分别计算各个组合状态对应的组合概率;
根据各个所述组合概率制定组合概率表。
可选的,在根据预设间隔通过所述编码算法得到当前间隔之后,还包括:
判断所述n个连续二进制位是否包括所述二进制序列中的末位二进制位;
若否,则将所述当前间隔作为预设间隔,并从所述二进制序列中读取相邻下一组n个连续二进制位,然后返回执行根据所述n个连续二进制位的组合状态在所述组合概率表中查找到所述n个连续二进制位的组合概率的步骤;
若是,则将所述当前间隔作为最终间隔。
本申请还提供一种WebP熵编码的装置,该装置包括:
制定单元,用于依照预设规则制定组合概率表;
读取单元,用于从接收到的二进制序列中读取n个连续二进制位;
查找单元,用于根据所述n个连续二进制位的组合状态在所述组合概率表中查找到所述n个连续二进制位的组合概率;
确定计算单元,用于根据所述组合概率确定对应的编码算法,并根据预设间隔通过所述编码算法得到当前间隔;
其中,n为预设的大于1的整数。
可选的,所述读取单元包括:
第一获取子单元,用于从接收到的m个残差数据中获取到非零残差数据的位置;
编码子单元,用于对所述m个残差数据进行二值化编码处理,得到初始二进制序列;
第二获取子单元,用于根据所述位置从所述初始二进制序列中获取到所述非零残差数据对应的二进制序列;
读取子单元,用于从所述二进制序列中读取n个连续二进制位;
其中,m为预设的大于1的整数。
可选的,所述制定单元包括:
第三获取子单元,用于获取到n个连续二进制位各自对应的概率表;
计算子单元,用于列举所述n个连续二进制位的2n种组合状态,并根据所述概率表分别计算各个组合状态对应的组合概率;
制定子单元,用于根据各个所述组合概率制定组合概率表。
可选的,所述装置还包括:
判断单元,用于判断所述n个连续二进制位是否包括所述二进制序列中的末位二进制位;
读取返回单元,用于当所述n个连续二进制位不包括所述二进制序列中的末位二进制位时,将所述当前间隔作为预设间隔,并从所述二进制序列中读取相邻下一组n个连续二进制位,然后返回至查找单元;
间隔确定单元,用于当所述n个连续二进制位包括所述二进制序列中的末位二进制位时,将所述当前间隔作为最终间隔。
本申请还提供一种WebP熵编码的设备,该设备包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述任一项所述WebP熵编码的方法的步骤。
本申请还提供一种WebP熵编码的计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述任一项所述WebP熵编码的方法的步骤。
本申请所提供的一种WebP熵编码的方法,通过依照预设规则制定组合概率表;从接收到的二进制序列中读取n个连续二进制位;根据该n个连续二进制位的组合状态在该组合概率表中查找到该n个连续二进制位的组合概率;根据该组合概率确定对应的编码算法,并根据预设间隔通过该编码算法得到当前间隔;其中,n为预设的大于1的整数。
现有技术中,由于每个二进制位的概率存在依赖,即要知道当前二进制位的概率,必须确定上一个二进制位的值,同时,该二进制位对应的当前间隔必须根据上一位二进制位的当前间隔和其概率来计算,因此整个WebP熵编码的过程必须串行进行,速度非常慢;而本申请所提供的技术方案,通过先依照预设规则制定组合概率表,然后从接收到的二进制序列中读取n个连续二进制位,再查找到该n个连续二进制位的组合概率,最后根据组合概率确定对应的编码算法,并根据预设间隔通过该编码算法一次性计算n个连续二进制位对应的当前间隔,使得整个WebP熵编码过程的速度明显提升。本申请同时还提供了一种WebP熵编码的装置、设备及计算机可读存储设备,具有上述有益效果,在此不再赘述。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本申请实施例所提供的一种WebP熵编码的方法的流程图;
图2为图1所提供的一种WebP熵编码的方法中S102的一种实际表现方式的流程图;
图3为本申请实施例所提供的另一种WebP熵编码的方法的结构图;
图4为本申请实施例所提供的一种WebP熵编码的装置的结构图;
图5为本申请实施例所提供的另一种WebP熵编码的装置的结构图;
图6为本申请实施例所提供的一种WebP熵编码的设备的结构图。
具体实施方式
本申请的核心是提供一种WebP熵编码的方法、装置、设备及计算机可读存储设备,该方法能够提升WebP熵编码的速度。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
请参考图1,图1为本申请实施例所提供的一种WebP熵编码的方法的流程图。
其具体包括如下步骤:
S101:依照预设规则制定组合概率表;
算术编码为将二进制序列转换为0-1之间的某个间隔的编码算法,必须通过当前二进制位的概率,以及当前二进制位对应的间隔,来计算得到下一个二进制位的间隔;
要知道当前二进制位的概率,必须确定上一个二进制位的值,再通过查找某个固定的概率表得到,也就是说每个二进制位的概率存在依赖,即在WebP原算法中存在多个固定的概率表;
而本申请根据预设规则制定组合概率表,使得可以根据当前n个二进制位的组合状态直接确定该n个二进制位的组合概率;
可选的,根据预设规则制定组合概率表,可以通过执行如下步骤实现:
获取到n个连续二进制位各自对应的概率表;
列举n个连续二进制位的2n种组合状态,并根据其各自对应的概率表分别计算各个组合状态对应的组合概率;
根据各个所述组合概率制定组合概率表;
也就是说,本申请通过预先列举n个连续二进制位的2n种组合状态,并根据其各自对应的概率表分别计算每个组合状态对应的组合概率,根据各个所述组合概率制定组合概率表,使得可以根据当前n个二进制位的组合状态直接确定该n个二进制位的组合概率;当然,这仅为本申请提供的一种优选的制定组合概率表的方式,只要能够达到能够根据当前n个二进制位的组合状态直接确定该n个二进制位组合概率的目的,本申请对制定组合概率表的方式不作具体限定;
需要说明的是,针对某个具体的n时,为简化操作步骤,节省运行内存且提高运行效率,本步骤可以仅执行一次。
S102:从接收到的二进制序列中读取n个连续二进制位;
这里提到的n与步骤S101中提到的n值相同,即从接收到的二进制序列中读取的连续二进制位的数量,与组合概率表中的连续二进制位的数量保持一致。
S103:根据该n个连续二进制位的组合状态在组合概率表中查找到该n个连续二进制位的组合概率;
当从接收到的二进制序列中读取到n个连续二进制位时,根据其组合状态在组合概率表中查找到对应的组合概率。
S104:根据该组合概率确定对应的编码算法,并根据预设间隔通过该编码算法得到当前间隔。
现有技术中算数编码的算法流程设计是基于一个二进制位串行进行设计的,因为当前间隔的计算依赖于上一次的结果,而本发明将单个二进制位的算术编码计算过程合并为n个二进制位共用一个编码器,通过查询组合概率表得到组合概率,根据所选组合概率的不同,共有2n种编码算法f1()至f2n(),确定算法后,再通过一次计算得到当前间隔;
其中,value表示当前间隔的边界,range表示编码间隔的长度,这里提到的预设间隔即为[0,1];
例如,要将二进制序列1010转换为0-1之间的某个间隔,其中,0的固定概率为0.3,1的固定概率为0.7,设n为4;根据现有技术进行编码时,首先输入的符号是1,找到它的编码范围是[0.3,1]。由于消息中第二个符号0的编码范围是[0,0.3],因此它的间隔就取[0.3,1]的第一个十分之三作为新间隔[0.3,0.51];依此类推,编码第3个符号1时取新间隔为[0.363,0.51],编码第4个符号0时,取新间隔为[0.363,0.4071],则二进制序列1010的当前间隔为[0.363,0.4071];而根据本发明进行编码时,首先计算0000-1111共16种组合状态的对应的概率,以及根据各概率计算得到的间隔,并将其制作为如下概率表:
组合状态 | 组合概率 |
0000 | 0.0081 |
0001 | 0.0189 |
0010 | 0.0189 |
0011 | 0.0441 |
0100 | 0.0189 |
0101 | 0.0441 |
0110 | 0.0441 |
0111 | 0.1029 |
1000 | 0.0189 |
1001 | 0.0441 |
1010 | 0.0441 |
1011 | 0.1029 |
1100 | 0.0441 |
1101 | 0.1029 |
1110 | 0.1029 |
1111 | 0.2401 |
查找到二进制序列1010对应的概率为0.0441,选择对应的算法便可计算出当前间隔;
可选的,还可根据该概率表通过对应的算法可以确定出一个如下表所示的当前间隔表:
直接查找到二进制序列1010对应的当前间隔为[0.363,0.4071];
一般来说,接收到的二进制序列长度都非常长,采用本申请所提供的技术方案,除去制作组合概率表需要额外的时间外,相对于现有技术能够提高n倍,而对于一个固定的n值来说,组合概率表仅需制定一次,与处理二进制序列所需要的时间相比,制作组合概率表需要的额外时间几乎可以忽略不计。
基于上述技术方案,本申请所提供的一种WebP熵编码的方法,通过先依照预设规则制定组合概率表,然后从接收到的二进制序列中读取n个连续二进制位,再查找到该n个连续二进制位的组合概率,最后根据组合概率确定对应的编码算法,并根据预设间隔通过该编码算法一次性计算n个连续二进制位对应的当前间隔,相对于现有技术中一次计算一个二进制位的概率和当前间隔,本申请所提供的技术方案使得整个WebP熵编码过程的速度明显提升。
请参考图2,图2为图1所提供的一种WebP熵编码的方法中S102的一种实际表现方式的流程图。
本实施例是针对上一实施例的S102,是对S102描述的内容做出了具体实现方式的描述,下面为图2所示的流程图,其具体包括以下步骤:
S201:从接收到的m个残差数据中获取到非零残差数据的位置;
当接收到m个残差数据时,从m个残差数据中获取到非零残差数据的位置。
S202:对该m个残差数据进行二值化编码处理,得到初始二进制序列;
对该m个残差数据进行二值化编码处理,采用扩展二值化编码树,循环展开m次进行并行处理,得到初始二进制序列。
S203:根据非零残差数据的位置从该初始二进制序列中获取到该非零残差数据对应的二进制序列;
根据步骤S201获取到的非零残差数据的位置,从初始二进制序列中获取到非零残差数据对应的二进制序列。
S204:从该二进制序列中读取n个连续二进制位。
若想对残差数据进行二值化处理时,需要一个确定的并行度参数,来对二值化算法过程进行循环展开,而对于接收到的m个残差值来说,最终需要进行二值化编码处理的只是非零残差值,所以导致非零残差值个数不确定,致使在编写程序时,无法通过一个确定的循环展开参数来对残差数据进行并行的二值化处理;
而本申请所提供的具体实施方式,通过先从接收到的m个残差数据中获取到非零残差数据的位置,再对该m个残差数据进行二值化编码处理,得到初始二进制序列,最后根据非零残差数据的位置从该初始二进制序列中获取到该非零残差数据对应的二进制序列,使得整个二值化编码处理过程能够并行进行,相对于现有技术来说,大幅度提高了残差数据二值化的速度。
请参考图3,图3为本申请实施例所提供的另一种WebP熵编码的方法的结构图。
其具体包括以下步骤:
S301:依照预设规则制定组合概率表;
S302:从接收到的二进制序列中读取n个连续二进制位;
S303:根据该n个连续二进制位的组合状态在组合概率表中查找到该n个连续二进制位的组合概率;
S304:根据该组合概率确定对应的编码算法,并根据预设间隔通过该编码算法得到当前间隔;
S305:判断该n个连续二进制位是否包括二进制序列中的末位二进制位;
若否,则进入步骤S306,若是,则进入步骤S307;
S306:将当前间隔作为预设间隔,并从该二进制序列中读取相邻下一组n个连续二进制位;
将当前间隔作为预设间隔,并从该二进制序列中读取相邻下一组n个连续二进制位,并返回执行步骤S303。
S307:将当前间隔作为最终间隔。
基于上述技术方案,本申请实施例所提供的另一种WebP熵编码的方法,通过判断该n个连续二进制位是否包括二进制序列中的末位二进制位,若否则将当前间隔作为预设间隔,并从该二进制序列中读取相邻下一组n个连续二进制位,然后返回执行步骤S303。通过循环计算n个二进制序列对应的当前间隔,直至计算出整个二进制序列的末位二进制位对应的当前间隔,并将其作为最终间隔,使得将该二进制序列完全转换为0-1之间的某个间隔。
请参考图4,图4为本申请实施例所提供的一种WebP熵编码的装置的结构图。
该装置可以包括:
制定单元100,用于依照预设规则制定组合概率表;
读取单元200,用于从接收到的二进制序列中读取n个连续二进制位;
查找单元300,用于根据n个连续二进制位的组合状态在组合概率表中查找到n个连续二进制位的组合概率;
确定计算单元400,用于根据组合概率确定对应的编码算法,并根据预设间隔通过编码算法得到当前间隔;
其中,n为预设的大于1的整数。
请参考图5,图5为本申请实施例所提供的另一种WebP熵编码的装置的结构图。
该读取单元200可以包括:
第一获取子单元,用于从接收到的m个残差数据中获取到非零残差数据的位置;
编码子单元,用于对该m个残差数据进行二值化编码处理,得到初始二进制序列;
第二获取子单元,用于该根据位置从该初始二进制序列中获取到非零残差数据对应的二进制序列;
读取子单元,用于从该二进制序列中读取n个连续二进制位;
其中,m为预设的大于1的整数。
该制定单元100可以包括:
第三获取子单元,用于获取到n个连续二进制位各自对应的概率表;
计算子单元,用于列举n个连续二进制的2n种组合状态,并根据概率表分别计算各个组合状态对应的组合概率;
制定子单元,用于根据各个组合概率制定组合概率表。
该装置还可以包括:
判断单元,用于判断n个连续二进制位是否包括二进制序列中的末位二进制位;
读取返回单元,用于当n个连续二进制位不包括二进制序列中的末位二进制位时,将当前间隔作为预设间隔,并从二进制序列中读取相邻下一组n个连续二进制位,然后返回至查找单元;
间隔确定单元,用于当n个连续二进制位包括二进制序列中的末位二进制位时,将当前间隔作为最终间隔。
由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。
请参考图6,图6为本申请实施例所提供的一种WebP熵编码的设备的结构图。
该设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)522(例如,一个或一个以上处理器)和存储器532,一个或一个以上存储应用程序542或数据544的存储介质530(例如一个或一个以上海量存储设备)。其中,存储器532和存储介质530可以是短暂存储或持久存储。存储在存储介质530的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对装置中的一系列指令操作。更进一步地,处理器522可以设置为与存储介质530通信,在WebP熵编码的设备500上执行存储介质530中的一系列指令操作。
WebP熵编码的设备500还可以包括一个或一个以上电源526,一个或一个以上有线或无线网络接口550,一个或一个以上输入输出接口558,和/或,一个或一个以上操作系统541,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述图1至图3所描述的WebP熵编码的方法中的步骤由WebP熵编码的设备基于该图6所示的结构实现。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置、设备和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,功能调用装置,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上对本申请所提供的一种WebP熵编码的方法、装置、设备及计算机可读存储设备进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以对本申请进行若干改进和修饰,这些改进和修饰也落入本申请权利要求的保护范围内。
还需要说明的是,在本说明书中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、物品或者设备中还存在另外的相同要素。
Claims (10)
1.一种WebP熵编码的方法,其特征在于,包括:
依照预设规则制定组合概率表;
从接收到的二进制序列中读取n个连续二进制位;
根据所述n个连续二进制位的组合状态在所述组合概率表中查找到所述n个连续二进制位的组合概率;
根据所述组合概率确定对应的编码算法,并根据预设间隔通过所述编码算法得到当前间隔;
其中,n为预设的大于1的整数。
2.根据权利要求1所述的方法,其特征在于,所述从接收到的二进制序列中读取n个连续二进制位,包括:
从接收到的m个残差数据中获取到非零残差数据的位置;
对所述m个残差数据进行二值化编码处理,得到初始二进制序列;
根据所述位置从所述初始二进制序列中获取到所述非零残差数据对应的二进制序列;
从所述二进制序列中读取n个连续二进制位;
其中,m为预设的大于1的整数。
3.根据权利要求1所述的方法,其特征在于,所述依照预设规则制定组合概率表,包括:
获取到n个连续二进制位各自对应的概率表;
列举所述n个连续二进制位的2n种组合状态,并根据所述概率表分别计算各个组合状态对应的组合概率;
根据各个所述组合概率制定组合概率表。
4.根据权利要求1-3任意一项所述的方法,其特征在于,在根据预设间隔通过所述编码算法得到当前间隔之后,还包括:
判断所述n个连续二进制位是否包括所述二进制序列中的末位二进制位;
若否,则将所述当前间隔作为预设间隔,并从所述二进制序列中读取相邻下一组n个连续二进制位,然后返回执行根据所述n个连续二进制位的组合状态在所述组合概率表中查找到所述n个连续二进制位的组合概率的步骤;
若是,则将所述当前间隔作为最终间隔。
5.一种WebP熵编码的装置,其特征在于,包括:
制定单元,用于依照预设规则制定组合概率表;
读取单元,用于从接收到的二进制序列中读取n个连续二进制位;
查找单元,用于根据所述n个连续二进制位的组合状态在所述组合概率表中查找到所述n个连续二进制位的组合概率;
确定计算单元,用于根据所述组合概率确定对应的编码算法,并根据预设间隔通过所述编码算法得到当前间隔;
其中,n为预设的大于1的整数。
6.根据权利要求5所述的装置,其特征在于,所述读取单元包括:
第一获取子单元,用于从接收到的m个残差数据中获取到非零残差数据的位置;
编码子单元,用于对所述m个残差数据进行二值化编码处理,得到初始二进制序列;
第二获取子单元,用于根据所述位置从所述初始二进制序列中获取到所述非零残差数据对应的二进制序列;
读取子单元,用于从所述二进制序列中读取n个连续二进制位;
其中,m为预设的大于1的整数。
7.根据权利要求5所述的装置,其特征在于,所述制定单元包括:
第三获取子单元,用于获取到n个连续二进制位各自对应的概率表;
计算子单元,用于列举所述n个连续二进制位的2n种组合状态,并根据所述概率表分别计算各个组合状态对应的组合概率;
制定子单元,用于根据各个所述组合概率制定组合概率表。
8.根据权利要求5-7任意一项所述的装置,其特征在于,还包括:
判断单元,用于判断所述n个连续二进制位是否包括所述二进制序列中的末位二进制位;
读取返回单元,用于当所述n个连续二进制位不包括所述二进制序列中的末位二进制位时,将所述当前间隔作为预设间隔,并从所述二进制序列中读取相邻下一组n个连续二进制位,然后返回至查找单元;
间隔确定单元,用于当所述n个连续二进制位包括所述二进制序列中的末位二进制位时,将所述当前间隔作为最终间隔。
9.一种WebP熵编码的设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至4任一项所述WebP熵编码的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至4任一项所述WebP熵编码的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710930429.4A CN107645665B (zh) | 2017-10-09 | 2017-10-09 | 一种WebP熵编码的方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710930429.4A CN107645665B (zh) | 2017-10-09 | 2017-10-09 | 一种WebP熵编码的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107645665A CN107645665A (zh) | 2018-01-30 |
CN107645665B true CN107645665B (zh) | 2020-02-14 |
Family
ID=61112289
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710930429.4A Active CN107645665B (zh) | 2017-10-09 | 2017-10-09 | 一种WebP熵编码的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107645665B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111726626B (zh) * | 2020-06-18 | 2022-05-03 | 格兰菲智能科技有限公司 | 集成电路及用于视频解码的概率表存储方法 |
CN113382265B (zh) * | 2021-05-19 | 2023-03-24 | 北京大学深圳研究生院 | 视频数据熵编码硬件实现方法、设备、介质及程序产品 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103931188A (zh) * | 2012-01-16 | 2014-07-16 | 联发科技(新加坡)私人有限公司 | 语法元素的上下文自适应二进制算术编码装置及方法 |
CN104993907A (zh) * | 2015-06-12 | 2015-10-21 | 吴东辉 | 频谱编码通信方法及装置 |
CN106170922A (zh) * | 2014-02-20 | 2016-11-30 | 古鲁洛吉克微系统公司 | 数据的源编码和解码的设备和方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5274317B2 (ja) * | 2009-03-17 | 2013-08-28 | パナソニック株式会社 | 符号量推定装置、符号量推定方法、符号量推定プログラムおよび、符号量推定集積回路 |
-
2017
- 2017-10-09 CN CN201710930429.4A patent/CN107645665B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103931188A (zh) * | 2012-01-16 | 2014-07-16 | 联发科技(新加坡)私人有限公司 | 语法元素的上下文自适应二进制算术编码装置及方法 |
CN106170922A (zh) * | 2014-02-20 | 2016-11-30 | 古鲁洛吉克微系统公司 | 数据的源编码和解码的设备和方法 |
CN104993907A (zh) * | 2015-06-12 | 2015-10-21 | 吴东辉 | 频谱编码通信方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN107645665A (zh) | 2018-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10499086B2 (en) | Video data encoding and decoding methods and apparatuses | |
US7623047B2 (en) | Data sequence compression | |
TWI768295B (zh) | 用於音訊/視訊樣本向量之錐型向量量化檢索/解檢索之方法及裝置 | |
CN107919943B (zh) | 二进制数据的编码、解码方法和装置 | |
CN111027656B (zh) | 二维码生成及识别方法、装置、电子设备、存储介质 | |
JP2019530269A (ja) | 符号化方法およびデバイスならびに装置 | |
WO2019042271A1 (zh) | 极化码的译码方法、译码器及译码设备 | |
CN110545106A (zh) | 时序数据的编码方法及装置 | |
CN107645665B (zh) | 一种WebP熵编码的方法及装置 | |
CN113630125A (zh) | 数据压缩、编码解压缩方法、装置、电子设备及存储介质 | |
CN112995199B (zh) | 数据编解码方法、装置、传输系统、终端设备及存储介质 | |
JP2013081003A (ja) | データ符号化装置及び方法、並びに、データ復号装置及び方法 | |
CN114579570A (zh) | 数据处理方法及装置 | |
JP6426212B2 (ja) | 制限されたキャリー演算による算術コーディングを遂行するための方法及び装置 | |
CN109981108B (zh) | 数据压缩方法、解压缩方法、装置及设备 | |
CN111405293B (zh) | 一种视频传输方法及装置 | |
CN112332854A (zh) | 霍夫曼编码的硬件实现方法、装置及存储介质 | |
CN106484753B (zh) | 数据处理方法 | |
CN115765754A (zh) | 一种数据编码方法及一种编码数据比较方法 | |
CN112262578A (zh) | 点云属性编码方法和装置以及点云属性解码方法和装置 | |
CN113810717B (zh) | 图像处理方法及装置 | |
CN111104484B (zh) | 文本相似度检测方法、装置及电子设备 | |
KR102412244B1 (ko) | 모드 정보를 코딩 및 디코딩하기 위한 방법 및 장치, 그리고 전자 디바이스 | |
KR20150072853A (ko) | 가변길이코딩을 이용한 인코딩 방법, 디코딩 방법, 및 그 시스템 | |
CN115833847B (zh) | Polar码译码方法、装置、通信设备和存储介质 |
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 |