编码可变长度符号以实现并行解码制造技术

技术编号:21459738 阅读:31 留言:0更新日期:2019-06-26 06:48
提供了一种方法,其中源系统将多个符号集划分成多个固定宽度数据块。在划分期间,源系统创建相对固定宽度数据块的边界的对应于符号集中的符号的符号边界信息。反过来,源系统基于符号边界信息将固定宽度数据块组合成多路复用比特流,并将多路复用比特流提供给目的地系统。

【技术实现步骤摘要】
【国外来华专利技术】编码可变长度符号以实现并行解码
技术介绍
本公开涉及在源系统上对符号流进行编码,该源系统具有可变长度符号以允许目标系统使用多个解码器来对符号流进行解码。计算机系统使用压缩技术来减少存储在存储器中或通过计算机网络发送到其他计算机系统的比特数目。数据压缩是一种通过将多个比特“压缩”为较小数目的比特来减小数据文件大小的技术。源编码(coding)或编码(encoding)是一种压缩技术,其减少了通过计算机网络传输的比特量,例如数据流。数据流压缩格式可以使用可变长度“符号”对数据进行编码。由于符号长度可变性,在目的地系统处解码符号的过程本质上是顺序的,因为目的地系统需要解码符号以便确定数据流中下一个符号的起始位置。
技术实现思路
根据本公开的一个实施例,提供了一种方法,其中源系统将多个符号集划分为多个固定宽度数据块。在划分期间,源系统创建相对于固定宽度数据块的边界的对应于符号集中的符号的符号边界信息。反过来,源系统基于符号边界信息将固定宽度数据块组合成多路复用比特流,并将多路复用比特流提供给目的地系统。以上是概述,因此必然包含细节的简化、概括和省略;因此,本领域技术人员将理解,该概述仅是说明性的,并不旨在以任何方式进行限制。仅由权利要求限定的本公开的其他方面、专利技术特征和优点将在以下阐述的非限制性详细描述中变得明显。附图简要说明通过参考附图,可以更好地理解本公开,并且本公开的众多目的、特征和优点对于本领域技术人员而言是明显的,其中:图1是数据处理系统的框图,其中可以实现本文描述的方法;图2提供了图1中所示的信息处理系统环境的扩展,以说明本文描述的方法可以在网络环境中操作的多种信息处理系统上执行;图3是描绘将初始符号流转换为多路复用的比特流的源符号编码器以及使用多个解码器将多路复用的比特流转换为解码的符号流的目的地符号解码器的图;图4是表示利用图3所示的符号编码器和符号解码器的压缩器和解压缩器的高级别图;图5是描述初始符号流被转换为多路复用比特流的阶段的详细图;图6是描述将比特流划分为固定比特宽度数据块并产生拉取(pull)定时的流转换器的图;图7是描述固定宽度多路复用器从多个比特流加载固定比特宽度数据块的方法的图,其顺序与固定比特宽度数据块将如何由目的地固定宽度符号解码器处理一致;图8是示出源编码器的高级别流程图,该源编码器生成多路复用的比特流,该多路复用的比特流被发送到目的地符号解码器以进行并行解码;图9是流程图,其示出了流转换器将符号子流转换为具有固定比特宽度数据块的比特流并产生对应于固定比特宽度数据块的拉取定时所采取的步骤;图10是表示固定宽度多路复用器根据拉取定时信息将多个比特流的固定比特宽度数据块组合成多路复用比特流所采取的步骤的流程图;图11是表示目的地系统对输入的多路复用比特流进行并行解码的步骤的流程图;以及图12是示出与比特流划分器接口以请求和处理固定比特宽度数据块的多个固定宽度解码器的示例的图。具体实施方式这里使用的术语仅用于描述特定实施例的目的,并不旨在限制本公开。如这里所使用的,单数形式“一(a)”,“一(an)”和“该(the)”旨在也包括复数形式,除非上下文另有明确说明。将进一步理解,当在本说明书中使用时,术语“包括(comprises)”和/或“包含(comprising)”指定所描述的特征、整数、步骤、操作、元件、和/或组件的存在,但不排除存在或者添加一个或多个其他特征、整数、步骤、操作、元素、组件和/或其组合。以下权利要求中的所有装置或步骤加功能元件的对应结构、材料、动作和等同物旨在包括用于结合具体要求保护的其他要求保护的元件执行功能的任何结构、材料或动作。已经出于说明和描述的目的给出了对本公开的描述,但是并不旨在穷举或将本公开限制于所公开的形式。在不脱离本公开的范围和精神的情况下,许多修改和变化对于本领域普通技术人员将是明显的。选择和描述实施例是为了最好地解释本公开的原理和实际应用,并且使本领域的其他普通技术人员能够理解具有适合于预期的特定用途的各种修改的本公开的各种实施例。本专利技术可以是系统、方法和/或计算机程序产品。该计算机程序产品可以包括计算机可读存储介质medium(或介质media),其上具有计算机可读程序指令,用于使处理器执行本专利技术的各方面。计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。用于执行本专利技术操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本专利技术的各个方面。这里参照根据本专利技术实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本专利技术的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了本文档来自技高网...

【技术保护点】
1.一种由信息处理系统实施的方法,所述方法包括:将多个符号集中的每一个划分为多个固定宽度数据块;创建相对对应于所述多个固定宽度数据块的一个或多个边界的对应于所述多个符号集中包括的多个符号中的一个或多个符号的位置的符号边界信息;基于所述符号边界信息将所述多个固定宽度数据块组合成多路复用比特流;以及将所述多路复用比特流提供给目的地系统。

【技术特征摘要】
【国外来华专利技术】2016.11.18 US 15/356,4681.一种由信息处理系统实施的方法,所述方法包括:将多个符号集中的每一个划分为多个固定宽度数据块;创建相对对应于所述多个固定宽度数据块的一个或多个边界的对应于所述多个符号集中包括的多个符号中的一个或多个符号的位置的符号边界信息;基于所述符号边界信息将所述多个固定宽度数据块组合成多路复用比特流;以及将所述多路复用比特流提供给目的地系统。2.根据权利要求1所述的方法,还包括:在所述划分之前,将符号流分离为多个符号子流,其中,在所述多个符号子流中的每一个上单独执行所述划分,并且其中,所述多个符号对应于多个不同的符号长度;以及基于所述多个不同符号长度中的最长的一个来确定所述固定宽度数据块的固定宽度大小。3.根据权利要求2所述的方法,其中,对于所述多个符号子流中的所选择的一个符号子流,所述方法还包括:选择与一个或多个固定宽度数据块中所选的一个固定宽度数据块相对应的所述多个符号中的一个符号;确定所选的符号是否越过与所选的固定宽度数据块对应的一个或多个边界中的所选的一个边界;响应于确定所述所选的符号越过所述所选的边界,在所述符号边界信息的所选时隙中存储第一指示符;以及响应于确定所述所选的符号没有越过所述所选的边界,在所述符号边界信息的所选时隙中存储第二指示符。4.根据权利要求3所述的方法,其中所述组合还包括:执行初始加载,所述初始加载以基于所述多个符号子流中的每一个的顺序将所述多个固定宽度数据块的一部分加载到所述多路复用比特流中;在初始加载之后,确定所述所选的时隙是否包括所述第一指示符;以及响应于确定所述所选的时隙包括所述第一指示符,将对应于所选的符号子流的所选的固定宽度数据块加载到所述多路复用比特流。5.根据权利要求2所述的方法,其中,在所述划分之前,该方法还包括:将未压缩的字节流编码成所述多个符号;以及将所述多个符号包括在所述符号流中。6.一种信息处理系统,包括:一个或多个处理器;存储器,耦合到所述一个或多个处理器中的至少一个处理器;存储在所述存储器中并由所述一个或多个处理器中的至少一个处理器执行的一组计算机程序指令,以执行以下动作:将多个符号集中的每一个划分为多个固定宽度数据块;创建相对对应于所述多个固定宽度数据块的一个或多个边界的对应于所述多个符号集中包括的多个符号中的一个或多个符号的位置的符号边界信息;基于所述符号边界信息将所述多个固定宽度数据块组合成多路复用比特流;以及将所述多路复用比特流提供给目的地系统。7.根据权利要求6所述的信息处理系统,其中所述一个或多个处理器执行进一步的动作,包括:在所述划分之前,将符号流分离为多个符号子流,其中,在所述多个符号子流中的每一个上单独执行所述划分,并且其中所述多个符号对应于多个不同的符号长度;以及基于所述多个不同符号长度中的最长的一个来确定所述固定宽度数据块的固定宽度大小。8.根据权利要求7所述的信息处理系统,其中,对于所述多个符号子流中的所选择的一个,所述处理器执行进一步的动作,包括:选择与一个或多个固定宽度数据块中所选的一个固定宽度数据块相对应的所述多个符号中的一个符号;确定所选的符号是否越过与所选的固定宽度数据块对应的一个或多个边界中的所选的一个边界;响应于确定所述所选的符号越过所述所选的边界,在所述符号边界信息的所选时隙中存储第一指示符;以及响应于确定所述所选的符号没有越过所述所选的边界,在所述符号边界信息的所选时隙中存储第二指示符。9.根据权利要求8所述的信息处理系统,所述处理器执行进一步的动作,包括:执行初始加载,所述初始加载以基于所述多个符号子流中的每一个的顺序将所述多个固定宽度数据块的一部分加载到所述多路复用比特流中;在初始加载之后,确定所述所选的时隙是否包括所述第一指示符;以及响应于确定所述所选的时隙包括所述第一指示符,将对应于所选的符号子流的所选的固定宽度数据块加载到所述多路复用比特流。10.根据权利要求7所述的信息处理系统,其中,在所述划分之前,所述处理器执行进一步的动作,包括:将未压缩的字节流编码成所述多个符号;以及将所述多个符号包括在所述符号流中。11.一种存储在计算机可读存储介质中的计算机程序产品,包括计算机程序代码,当由信息处理系统执行时,使得所述信息处理系统执行动作,包括:将多个符号集中的每一个划分为多个固定宽度数据块;创建相对对应于所述多个固定宽度数据块的一个或多个边界的...

【专利技术属性】
技术研发人员:A·K·马丁
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国,US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1