【技术实现步骤摘要】
【国外来华专利技术】用于压缩和解压缩数据的方法、设备和系统
本公开内容总体上涉及数据压缩和解压缩的领域,例如在计算机系统的缓存/存储器子系统中和/或数据传输子系统中的或者在数据通信系统中的数据压缩和解压缩。
技术介绍
数据压缩是用于减小数据大小的一种较为成熟的技术。其应用于保存在计算机系统的存储器子系统中的数据以增加存储能力。当数据在计算机系统内的不同子系统之间传输时,或者通常当在包括通信网络的数据通信系统中的两个点之间进行所述传输时,数据压缩也被使用。数据压缩需要两个基本的操作:1)压缩(也称为编码),压缩是将未压缩的数据作为输入,并通过用相应的码字(在文献中也称为编码、字码或代码)替换数据值来将未压缩的数据转换为经压缩的数据;以及2)解压缩(也称为解码),解压缩是将经压缩的数据作为输入并通过用相应的数据值替换码字来将该经压缩的数据转换为未压缩的。数据压缩可以是无损式的或者有损式的,这取决于是否解压缩后的实际数据值与压缩前的原始数据值完全相同(无损式),或者取决于是否解压缩后的数据值不同于原始数据值且原始值无法取得(有损式)。可以用软件、或硬件、或软件和硬件的组合来实施压缩和解压缩,以实现相应的方法、设备和系统。图1描绘了计算机系统100的实例。计算机系统100包括使用通信装置例如互连网络连接到存储器层次结构(memoryhierarchy,存储器分级体系)110的一个或数个处理单元P1…Pn。每个处理单元都包括处理器(或核),并且每个处理单元都可以是CPU(中央处理单元)、GPU(图形处理单元)、或者通常是执行计算的块。另一方面,存储器层次结构110构成计算机系统100的 ...
【技术保护点】
1.一种数据压缩设备(1600;1800),用于将包括n个数据值(v1‑vn)的未压缩的数据块(1610;1810)压缩为经压缩的数据块(1690;1890),所述数据压缩设备包括:压缩器(1620;1820),所述压缩器被配置成将所述未压缩的数据块的数据值压缩为对应的可变长度码字(1625;1825);检测器(1630;1830),所述检测器被配置成检测至少一个特定数据值(1632;1832)在所述未压缩的数据块(1610;1810)中的存在;以及经压缩的数据块生成器(1640‑1670;1840‑1870),所述经压缩的数据块生成器与所述压缩器和所述检测器耦合并且被配置成通过将下述相组合来生成所述经压缩的数据块(1690;1890):·数据值掩码(Z值掩码),所述数据值掩码包含n个掩码位置,其中,每个掩码位置指示所述未压缩的数据块(1610;1810)中的相应的数据值是否与由所述检测器(1630;1830)检测到的所述至少一个特定数据值(1632;1832)中的任一个特定数据值相等;以及·对于所述未压缩的数据块(1610;1810)中的与所述至少一个特定数据值(1632;1832) ...
【技术特征摘要】
【国外来华专利技术】2016.01.29 SE 1650119-9;2016.06.01 SE 1650767-51.一种数据压缩设备(1600;1800),用于将包括n个数据值(v1-vn)的未压缩的数据块(1610;1810)压缩为经压缩的数据块(1690;1890),所述数据压缩设备包括:压缩器(1620;1820),所述压缩器被配置成将所述未压缩的数据块的数据值压缩为对应的可变长度码字(1625;1825);检测器(1630;1830),所述检测器被配置成检测至少一个特定数据值(1632;1832)在所述未压缩的数据块(1610;1810)中的存在;以及经压缩的数据块生成器(1640-1670;1840-1870),所述经压缩的数据块生成器与所述压缩器和所述检测器耦合并且被配置成通过将下述相组合来生成所述经压缩的数据块(1690;1890):·数据值掩码(Z值掩码),所述数据值掩码包含n个掩码位置,其中,每个掩码位置指示所述未压缩的数据块(1610;1810)中的相应的数据值是否与由所述检测器(1630;1830)检测到的所述至少一个特定数据值(1632;1832)中的任一个特定数据值相等;以及·对于所述未压缩的数据块(1610;1810)中的与所述至少一个特定数据值(1632;1832)不相等的数据值,由所述压缩器进行压缩所得的对应的可变长度码字,其中,所述经压缩的数据块(1690;1890)包括所述数据值掩码(Z值掩码)和m个可变长度码字,其中,m≤n,并且其中,在所述经压缩的数据块(1690;1890)中不包括用于所述未压缩的数据块(1610;1810)中的与所述至少一个特定数据值(1632;1832)中的任一个特定数据值相等的数据值的可变长度码字。2.根据权利要求1所述的数据压缩设备,其中,所述检测器(1630;1830被配置成检测一个特定数据值(1632;1832)在所述未压缩的数据块(1610;1810)中的存在,并且其中,所述数据值掩码(Z值掩码)的n个掩码位置中的每个掩码位置都包含单个位。3.根据权利要求1所述的数据压缩设备,其中,所述检测器(1630;1830)被配置成检测多个不同的特定数据值(1632;1832)在所述未压缩的数据块(1610;1810)中的存在,并且其中,所述数据值掩码(Z值掩码)的n个掩码位置中的每个掩码位置都包含能够对多个特定数据值(1632;1832)中的任一个特定数据值进行编码的固定大小的位组合。4.根据任一项前述权利要求所述的数据压缩设备,其中,所述至少一个特定数据值(1632;1832)中的特定数据值或每个特定数据值都是频繁出现的数据值,如果取代地使用可变长度编码,所述频繁出现的数据值可能被利用最少的位进行编码。5.根据权利要求1-3中任一项所述的数据压缩设备,其中,所述至少一个特定数据值(1632;1832)中的特定数据值或每个特定数据值是当出现时要求非常快速的解压缩的数据值。6.根据任一项前述权利要求所述的数据压缩设备,其中,所述至少一个特定数据值(1632;1832)中的特定数据值或一个特定数据值是0。7.根据从属于权利要求2时的任一项前述权利要求所述的数据压缩设备,其中,所述检测器(1630;1830)包括比较器(1630;1830),所述比较器具有:第一输入(1631a,1831a),所述第一输入被配置成接收在所述未压缩的数据块(1610;1810)中的相应的数据值位置处的数据值(v1-vn);第二输入(1631b,1831b),所述第二输入被配置成接收所述特定数据值(1632;1832);以及输出(1633;1833),所述输出被配置成输出所述特定数据值(1632;1832)与在所述未压缩的数据块(1610;1810)中的相应的数据值位置处的所述数据值(v1-vn)之间的比较的结果。8.根据权利要求7所述的数据压缩设备,其中,所述经压缩的数据块生成器(1640-1670;1840-1870)包括具有n个一位存储位置的掩码寄存器(1640;1840),每个所述一位存储位置用于所述数据值掩码(Z值掩码)的n个掩码位置中的一个掩码位置,并且其中,所述比较器(1630;1830)的输出(1633;1833)被耦合至所述掩码寄存器(1640;1840),使得利用所述特定数据值(1632;1832)与在所述未压缩的数据块(1610;1810)中的相应的数据值位置处的所述数据值(v1-vn)之间的所述比较的结果使所述掩码寄存器(1640;1840)在其n个存储位置中的相应的一个存储位置处被更新。9.根据权利要求7或8所述的数据压缩设备,其中,所述经压缩的数据块生成器(1640-1670;1840-1870)包括存储单元(1650;1850),所述存储单元具有:第一输入(1651a,1851a),所述存储单元的第一输入被配置成从所述压缩器(1620;1820)接收与在所述未压缩的数据块(1610;1810)中的相应的数据值位置处的所述数据值(v1-vn)对应的可变长度码字(1625;1825)并将所接收的可变长度码字存储在所述存储单元(1650;1850)中;输出(1653;1853),所述存储单元的输出被配置成将所存储的可变长度码字(1625;1825)输出到累积的可变长度编码(1655;1855)中;以及第二输入(1631b,1831b),所述存储单元的第二输入被配置成接收取决于所述比较器(1630;1830)的输出(1633;1833)的控制信号,其中,所述存储单元(1650;1850)被配置成:当由所述比较器(1630;1830)进行的所述比较的结果指示所述特定数据值(1632;1832)与在所述未压缩的数据块(1610;1810)中的相应的数据值位置处的所述数据值(v1-vn)之间匹配时,禁止所存储的可变长度码字(1625;1825)输出到所述可变长度编码(1655;1855)中。10.根据权利要求8和9所述的数据压缩设备,其中,所述经压缩的数据块生成器(1640-1670;1840-1870)包括连结器(1670;1870),所述连结器被配置成:当所述未压缩的数据块(1610;1810)的所有n个数据值(v1-vn)都已经被处理时,通过将来自所述掩码寄存器(1640;1840)的所述数据值掩码(Z值掩码)与所述累积的可变长度编码(1655;1855)连结来生成所述经压缩的数据块(1690;1890)。11.根据权利要求10所述的数据压缩设备,其中,在所述经压缩的数据块(1690;1890)中,所述数据值掩码(Z值掩码)置于所述累积的可变长度编码(1655;1855)之前。12.一种数据压缩方法,用于将包括预定的n个数据值(v1-vn)的未压缩的数据块(1610;1810)压缩为经压缩的数据块(1690;1890),所述数据压缩方法包括:将所述未压缩的数据块的数据值压缩为对应的可变长度码字(1625;1825);检测至少一个特定数据值(1632;1832)在所述未压缩的数据块(1610;1810)中的存在;以及通过将下述相组合来生成所述经压缩的数据块(1690;1890):·数据值掩码(Z值掩码),所述数据值掩码包含n个掩码位置,其中,每个掩码位置指示所述未压缩的数据块(1610;1810)中的相应的数据值是否与所述至少一个特定数据值(1632;1832)中的任一个特定数据值相等;以及·对于所述未压缩的数据块(1610;1810)中的与所述至少一个特定数据值(1632;1832)中的任一个特定数据值都不相等的数据值,对应的可变长度码字,其中,所述经压缩的数据块(1690;1890)包括所述数据值掩码(Z值掩码)和m个可变长度码字,其中,m≤n,并且其中,在所述经压缩的数据块(1690;1890)中不包括用于所述未压缩的数据块(1610;1810)中的与所述至少一个特定数据值(1632;1832)中的任一个特定数据值相等的数据值的可变长度码字。13.一种数据解压缩设备(1700;1900),用于将经压缩的数据块(1710;1910)解压缩为经解压缩的数据块(1790;1990),所述经解压缩的数据块包括在相应的数据值位置处的n个数据值(v1-vn),所述数据解压缩设备包括:解压缩器(1720-1730;1920-1930),所述解压缩器被配置成将所述经压缩的数据块的可变长度码字(1625;1825)解压缩为对应的经解压缩的数据值(1735;1935);以及经解压缩的数据块生成器(1740-1780;1940-1980),所述经解压缩的数据块生成器被配置成:从所述经压缩的数据块(1710;1910)读取包含n个掩码位置的数据值掩码(Z值掩码),其中,每个掩码位置指示未压缩的数据块(1610;1810)中的相应的数据值在产生所述经压缩的数据块(1690/1710;1890/1910)的数据压缩之前是否与至少一个特定数据值(1632;1832)中的任一个特定数据值相等;并且基于所述数据值掩码(Z值掩码),通过将来自所述解压缩器(1720-1730;1920-1930)的经解压缩的数据值与由所述数据值掩码(Z值掩码)的相应的掩码位置指示的所述至少一个特定数据值(1782;1982)相组合,来生成所述经解压缩的数据块(1790;1990),其中,所生成的经解压缩的数据块(1790;1990)的数据值的次序与所述数据值在所述数据压缩之前在所述未压缩的数据块(1610;1810)中出现的次序相同。14.根据权利要求13所述的数据解压缩设备,其中,所述数据值掩码(Z值掩码)的n个掩码位置中的每个掩码位置都包含指示或不指示一个特定数据值(1782;1982)的单个位。15.根据权利要求13所述的数据解压缩设备,其中,所述数据值掩码(Z值掩码)的n个掩码位置中的每个掩码位置都包含能够解码多个特定数据值(1782;1982)中的任一个特定数据值的固定大小的位组合。16.根据权利要求13-15中任一项所述的数据解压缩设备,其中,所述至少一个特定数据值(1782;1982)中的特定数据值或一个特定数据值是0。17.根据权利要求14或从属于权利要求14时的权利要求16中任一项所述的数据解压缩设备,其中,所述经解压缩的数据块生成器(1740-1780;1940-1980)包括:值位置生成器(1740;1940);值位置分配器(1760;1960);以及多个选择器(1780;1980),每个选择器用于所述经解压缩的数据块(1790;1990)的n个数据值位置中的一个数据值位置,其中,所述值位置生成器(1740;1940)被配置成控制所述值位置分配器(1760;1960)和所述多个选择器(1780;1980),使得当所述数据值掩码(Z值掩码)的相应的掩码位置指示所述特定数据值(1782;1982)时,从相应的选择器接收所述特定数据值(1782;1982)并使所述特定数据值包括在所述经解压缩的数据块(1790;1990)中位于相应的数据值位置处,并且使得当所述数据值掩码(Z值掩码)的相应的掩码位置不指示所述特定数据值(1782;1982)时,从所述解压缩器(1720-1730;1920-1930)接收对应的经解压缩的数据值并使所述经解压缩的数据值包括在所述经解压缩的数据块(1790;1990)中位于相应的数据值位置处。18.一种数据解压缩方法,用于将经压缩的数据块(1710;1910)解压缩为经解压缩的数据块(1790;1990),所述经解压缩的数据块包括在相应的数据值位置处的n个数据值(v1-vn),所述数据解压缩方法包括:将所述经压缩的数据块的可变长度码字(1625;1825)解压缩为对应的经解压缩的数据值(1735;1935);从所述经压缩的数据块(1710;1910)读取包含n个掩码位置的数据值掩码(Z值掩码),其中,每个掩码位置指示未压缩的数据块(1610;1810)中的相应的数据值在产生所述经压缩的数据块(1690/1710;1890/1910)的数据压缩之前是否与至少一个特定数据值(1632;1832)中的任一个特定数据值相等;以及基于所述数据值掩码(Z值掩码),通过将经解压缩的数据值与由所述数据值掩码(Z值掩码)的相应的掩码位置指示的所述至少一个特定数据值(1782;1982)相组合,来生成所述经解压缩的数据块(1790;1990),其中,所生成的经解压缩的数据块(1790;1990)的数据值的次序与所述数据值在所述数据压缩之前在所述未压缩的数据块(1610;1810)中出现的次序相同。19.一种数据压缩设备(1800),用于将包括n个数据值(v1-vn)的未压缩的数据块(1810)压缩为经压缩的数据块(1890),所述数据压缩设备包括:压缩器(1820),所述压缩器被配置成将所述未压缩的数据块的数据值压缩为对应的可变长度码字(1825);检测器(1830),所述检测器被配置成检测至少一个特定数据值(1832)在所述未压缩的数据块(1810)中的存在;以及经压缩的数据块生成器(1840-1870),所述经压缩的数据块生成器与所述压缩器和所述检测器耦合,并且被配置成生成包含n个掩码位置的数据值掩码(Z值掩码),其中,每个掩码位置指示所述未压缩的数据块(1810)中的相应的数据值是否与由所述检测器(1830)检测到的所述至少一个特定数据值(1832)中的任一个特定数据值相等,其中,所述经压缩的数据块生成器(1840-1870)包括掩码编码生成器(1860),所述掩码编码生成器被配置成:分析所生成的数据值掩码(Z值掩码),包括确定所述数据值掩码是否与多种掩码模式中的任一种掩码模式匹配;以及生成掩码编码(1868)以代表所述分析的结果;其中,所述经压缩的数据块生成器(1840-1870)还被配置成通过将至少下述相组合来生成所述经压缩的数据块(1890):·所生成的掩码编码(1868);以及·对于所述未压缩的数据块(1810)中的与所述至少一个特定数据值(1832)中的任一个特定数据值都不相等的数据值,由所述压缩器进行压缩所得的对应的可变长度码字,其中,所述经压缩的数据块(1890)包括所生成的掩码编码(1868)和m个可变长度码字,其中,m≤n,并且其中,在所述经压缩的数据块(1890)中不包括用于所述未压缩的数据块(1810)中的与所述至少一个特定数据值(1832)中的任一个特定数据值相等的数据值的可变长度码字,并且其中,所述经压缩的数据块(1890)还包括所述数据值掩码(Z值掩码),除非由所述掩码编码生成器(1860)进行的所述分析的结果是所生成的数据值掩码(Z值掩码)指示所述未压缩的数据块(1810)中的特定数据值的预定重复模式。20.根据权利要求19所述的数据压缩设备,其中,所述掩码编码生成器(1860)被配置成:当所生成的数据值掩码(Z值掩码)指示在所述未压缩的数据块(1810)中特定数据值位于每隔一个数据值位置处的预定重复模式时,生成具有第一掩码编码值的所述掩码编码(1868),并且其中,在所生成的经压缩的数据块(1890)中仅包括所述掩码编码(1868)而不包括所述数据值掩码(Z值掩码)。21.根据权利要求20所述的数据压缩设备,其中,所述掩码编码生成器(1860)被配置成:当所生成的数据值掩码(Z值掩码)指示在所述未压缩的数据块(1810)中特定数据值位于每隔一个数据值位置处、然而相对于所述第一掩码编码值的预定重复模式偏移一个位置的预定重复模式时,生成具有第二掩码编码值的所述掩码编码(1868),并且其中,在所生成的经压缩的数据块(1890)中仅包括所述掩码编码(1868)而不包括所述数据值掩码(Z值掩码)。22.根据权利要求21所述的数据压缩设备,其中,所述掩码编码生成器(1860)被配置成:当所生成的数据值掩码(Z值掩码)指示在所述未压缩的数据块(1810)中的至少一个数据值位置中存在特定数据值时,生成具有第三掩码编码值的所述掩码编码(1868),并且其中,在所生成的经压缩的数据块(1890)中包括所述掩码编码(1868)以及所述数据值掩码(Z值掩码)。23.根据权利要求22所述的数据压缩设备,其中,所述掩码编码生成器(1860)被配置成:当所生成的数据值掩码(Z值掩码)指示在所述未压缩的数据块(1810)中的所有数据值位置中都不存在特定数据值时,生成具有第四掩码编码值的所述掩码编码(1868),并且其中,在所生成的经压缩的数据块(1890)中仅包括所述掩码编码(1868)而不包括所述数据值掩码(Z值掩码)。24.根据权利要求19-23中任一项所述的数据压缩设备,其中,在所述经压缩的数据块(1890)中,所述...
【专利技术属性】
技术研发人员:安耶洛斯·阿雷拉基斯,佩尔·斯滕斯特伦,
申请(专利权)人:零点科技公司,
类型:发明
国别省市:瑞典,SE
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。