用于编码数据的系统与方法

文档序号:6421049阅读:106来源:国知局
专利名称:用于编码数据的系统与方法
技术领域
一般性地,本发明涉及编码数据,且具体地涉及用于编码与压缩数据的系统与方法。
背景技术
压缩指用最少数量的位表示数据。数据压缩大致地有两类,即有损与无损压缩。数据的有损压缩指在解压缩时可以完全恢复数据而不丢失任何数据的压缩。一般在许多应用中希望是无损压缩,尤其在医疗图像中。
一般地,医疗图像具有很高的动态范围与很大的空间尺寸。当待编码数据的动态范围相对较大时,如医疗图像的情况,编码系统的设计就会较复杂。在这种情况下,希望设计具有低运算费用、高压缩比率的编码与压缩技术。
所以,希望提供一种编码技术,该技术能用来编码大量数据,同时保持低复杂度与高压缩率。

发明内容
简而言之,根据本发明的优选实施例,描述了一种用于编码未压缩数据的通用位置编码方法。该方法包括生成用于编码数据的所需仓结构(binstructure)。使用两种方法来生成该所需仓结构。在一个实施例中,自顶向下的方法包括基于数据的位深度初始化数据树;基于预定的分割条件,分割仓以形成两个分离的仓;重复分割步骤直至达到终止条件。在另一实施例中,自底向上的方法包括形成数据树;基于合并条件,合并两个现存仓以形成新仓;重复合并步骤直至达到终止条件。
在本发明的另一方面,提供了一种用于编码数据的数据编码系统。该数据编码系统包括通用位置编码系统,该通用位置编码系统以自顶向下或自底向上的方法使用数据树结构。该通用编码系统为熵编码器的预处理器。该熵编码器接收未压缩数据与所需仓结构,并使用所需仓结构编码未压缩数据,以生成压缩数据。


在参考附图阅读下列详细描述时,将能更好地理解本发明的这些以及其他特征、方面与优点,在所有附图中,相似的标号代表相似部件。其中图1为依据本发明优选实施例实现的数据编码系统的方框图。
图2为依据本发明的一个实施例产生所需仓结构的方法的流程图。
图3、图4与图5图解实现图2流程图的例子。
图6为依据本发明的一个实施例产生所需仓结构的方法的流程图。
图7、图8、图9与图10图解实现图6流程图的例子。
图11为依据本发明优选实施例所使用的通用计算机系统略图。
图12为使用本发明优选实现的示例性成像系统略图。
具体实施例方式
图1是依据本发明的优选实施例实现的数据编码系统10的方框图。显示了数据编码系统10,包括数学运算部件12,通用位置编码系统18,熵编码器24,熵解码器22与数学运算部件20。每个部件将在下面详细描述。
通用位置编码系统18从变换部件12接收未压缩数据,并且使用初始仓结构(bin structure)处理该未压缩数据以生成所需的仓结构。在示出的实施例中,通用位置编码系统包括初始化部件14与处理部件16。
熵编码器24耦合至通用位置编码系统并接收未压缩数据与所需的仓结构。熵编码器使用所需的仓结构编码未压缩数据以生成相应的压缩数据。熵编码器还生成数据文件,该数据文件包括压缩数据与表示所需仓结构的数据。
熵解码器22耦合至熵编码器并接收由熵编码器生成的数据文件。应该注意到来自熵编码器的数据,以及更一般地,在此处描述的各个功能组件之间交换的数据,可以任何合适的方式安排,如以常规“文件”形式或此处列举的任何能够被读取并处理的形式。熵解码器使用表示所需仓结构的数据解码压缩数据以生成相应的解压缩数据。
如图所示,数据编码系统10包括数学运算12与反向数学运算20。数学运算12耦合至熵编码器部件24,并在未压缩数据上进行数学运算。通过在未压缩数据上进行适当的数学运算,通用位置编码系统根据特定规则反复地更新初始仓结构,并且生成能够用来编码未压缩数据的所需仓结构。在一个实施例中,该数学运算部件实现了未压缩数据上的可选的小波变换。
反向数据运算部件20耦合至熵解码器22,并且接收由熵解码器生成的解压缩数据。反向数学运算部件在解压缩数据上进行反向数学运算。在实施例中,实现了解压缩数据上的反向小波变换。
在实施例中,未压缩数据相当于解压缩数据。如此,该数据编码系统无损地恢复未压缩数据,即为无损恢复。在示例性实施例中,未压缩数据表示包括三维图像,视频图像等等图像。
继续参照通用位置编码系统,处理未压缩数据以生成所需仓结构。生成所需仓结构的方法将在下面参考图2与图3进行描述。
图2为依据本发明的一个实施例的生成所需仓结构的方法的流程图。具体地,图2图示了依据本发明优选实施例的通用位置编码的自顶向下的方法。该处理从步骤30开始,并且控制立即转到步骤32。下面将详细描述各个步骤。
在步骤32,初始化顶部树仓结构(top tree bin structure)。该顶部树仓结构包括几个顶部树仓。每个顶部树仓包括几个顶部树码元。在实施例中,顶部树码元表示未压缩数据。在图示的实施例中,初始化部件14初始化顶部树仓结构,在实施例中,该顶部树仓包括以下字段。
range_start(范围_开始)表示此仓中的第一个码元,range_end(范围_结束)表示此仓中的最后一个码元,range(范围)表示码元总数(只有幅度)。raw(原始)表示在该仓中惟一表示各码元所需的位。count(计数)表示仓中所有码元的总发生次数,而loss(损失)表示在仓中表示所有码元所需的总位数。在数学上,Range=(range_end-range_start+1)Raw=log2(range),对带符号码元(例如表示+2或-2的码元)Raw=log2(2*range),并且Loss=count*raw一般地,仓中的码元为整数值,所以仓表示相邻的码元。
下面描述设计所需仓结构时使用的其他参数。
如果Pi为第i仓并且Pim为Pi的第m个子仓,则Pi的仓信息(bin-information)Pi.bi为
Pi.bi=Pi.count(-log2(Pi.countΣiPi.ocunt))]]>类似地,第i仓的位预算(bin budget)Pi.bb为Pi.bi=Pi.bi+Pi.loss且总的位预算为ΣiPi.bi+Pi.loss]]>在步骤34,根据分割条件,将任何一个顶部树仓分割为至少两个分割顶部树仓。在图示出的实施例中,处理部件16执行步骤34。分割条件可以基于各种因素。
在一个实施例中,分割条件对应于分割顶部树仓结构的与最少仓信息对应的顶部树仓。最少仓信息对应的顶部树仓表示为 此处, 的意思是“i”为当前考虑的数量的自变量(指标),其中该数量在此自变量(指标)处取最小值。在这种情况下,“i”为与顶部树仓结构S中所有其他仓相比具有最少仓信息的仓所对应的仓标号。
可替换地,分割条件可由以下步骤确定首先将所述多个顶部树仓的每一个准分割(pseudo-splitting)为几个子顶部树仓,将每个子顶部树仓的仓信息相加,并随后分割顶部树仓,该被分割仓包含与最小仓信息增加相应的几个子顶部树仓。在图示的实施例中,顶部树仓被分割为两个子顶部树仓。在准分割之后,与最小仓信息增加相应的仓由以下等式计算argmini[Pi.bi-ΣjPij.bi]]]>在另一实施例中,分割条件相应于分割与最大loss减少对应的顶部树仓之一。与最大loss减少对应的顶部树仓为 可替换地,分割条件可由以下步骤确定首先将所述多个顶部树仓的每一个准分割为几个子顶部树仓,将每个子顶部树仓的loss相加,并随后分割顶部树仓,该被分割仓包含与最大loss减少相应的几个子顶部树仓。与最大loss减少相应的仓为argmaxi[Pi.loss-ΣjPij.loss]]]>在可替换实施例中,分割条件相应于分割与最大位预算对应的顶部树仓之一。与最大位预算对应的顶部树仓为
argmaxi[Pi.loss+Pi.bi]]]>可替换地,分割条件可由以下步骤确定首先将每一个顶部树仓准分割为几个子顶部树仓,并随后分割顶部树仓,该被分割仓包含与位预算减少最大相应的几个子顶部树仓。与位预算最大相应的仓为argmaxi[Pi.loss+Pi.bi-ΣjPij.loss+Pij.bi]]]>在选择每个分割标准时都存在各种权衡。分割标准可以分为直接在仓上进行运算和/或在准分割之后在仓上进行运算。例如,第一类直接在仓上进行运算的标准不需要太多运算,并且可以通过对包含有关每个仓的信息的表进行排序完成。在后一个标准中,需要额外的运算但可得到较好的结果。另外,分割标准可以基于仓信息、损失与位预算进行分类。对基于仓信息的标准,考虑仓的熵。熵编码器驱动该标准。当损失不重要时,该标准较好,并且通常用在有损压缩环境中。然而,计算仓信息要求相对较复杂的运算,如计算对数。基于损失的标准较简单,因为其能够通过简单的乘法与更新仓结构中适当字段来实现。在另一方面,基于位预算的标准计算度较复杂。
最后,根据算法的计算复杂度、所需压缩率与熵编码器,选择合适的标准。
在图示的例子中,对有符号与无符号数据,第一顶部树仓总包含顶部树码元 具有等于0的raw的顶部树仓不能被分割,并且分割顶部树仓将产生两个新的分割顶部树仓,这两个新仓之中具有相同数目的码元(这是由于所选的初始顶部树仓结构),并且顶部树仓中的码元数目为2的幂。
持续分割顶部树仓,直至到达终止条件,如步骤36所示。终止条件可以通过如下方法确定。
在实施例中,根据所述多个顶部树仓确定终止条件。终止条件也可以根据失真量确定,其中失真为多个顶部树码元的因素。终止条件还可以根据压缩率确定。可替换地,终止条件可根据顶部树仓与压缩率确定。
在步骤38,使用初始顶部树仓并如上所述分割顶部树仓,生成所需的仓结构。在优选实施例中,所需仓结构包括未分割的顶部树仓与没有进一步分割的分割顶部树仓。
下面描述一个例子,说明实现图2步骤的方法。一四位数据(即位深度等于4)表示为以下序列‘2234 700102237’。如图3所示,该四位数据在四个仓54,56,58,68中表示。仓54包含顶部树码元0,仓56包含顶部树码元1,仓58包含顶部树码元2-3,仓60包含顶部树码元4-7。每个仓中的字段如下所述。
对仓54,range_start等于0,range_end等于0,range等于1,raw等于0,count等于3,loss等于0。类似地,对仓56,range_start等于1,range_end等于1,range等于1,raw等于0,count等于1,loss等于0。对仓58,range_start等于2,range_end等于3,range等于2,raw等于2,count等于6,loss等于6。对仓60,range_start等于4,range_end等于7,range等于4,raw等于2,count等于3,loss等于6。可以看到在本例中,仓的总数等于位深度加1。
图3表示初始顶部树结构50。该顶部树结构包括四个顶部树仓54、56、58与60,都起始于节点52。由此,顶部树仓58分割为分割顶部树仓62与64,二者会合在节点66,如图4所示。根据分割条件,分割顶部树仓被进一步分割为分割顶部树仓68与70,如图5所示。由此生成的所需仓结构包括顶部树仓54、56、60与分割顶部树仓64、68与70。
在可替换实施例中,实施自底向上的通用位置编码方法。下面参照图6至10描述该可替换方法。
图6的流程图描绘了使用自底向上方法生成所需仓结构的方法。该过程从步骤80开始,并且控制立即转到步骤82。下面将详细描述各个步骤。
在步骤82,初始化底部树仓结构(bottom tree bin structure)。该底部树仓结构包括几个底部树仓。每个底部树仓包括几个底部树码元。在实施例中,底部树码元表示未压缩数据。在图示的实施例中,初始化部件14初始化底部树仓结构。在实施例中,底部树仓包括与描述顶部树仓时相同的字段。
在步骤84,根据合并条件,将任何两个底部树仓合并为至少一个合并底部树仓。在图示出的实施例中,处理部件16执行步骤84。合并条件可以基于各种因素。下面就描述各种合并条件。请注意Pii+n为通过合并从“i”开始的“n”个连续仓而形成的仓。一般性地,”n”选为2。
在实施例中,合并条件对应于合并与最大仓信息减少对应的两个底部树仓。与最大仓信息减少对应的底部树仓表示为argmaxi:i+n[Pi:i+n.bi-Σj=ii+nPj.bi]]]>在另一实施例中,合并条件相应于合并与最小loss增加对应的两个底部树仓。与最小loss增加对应的底部树仓为argmini:i+n[Pi:i+n.loss-Σj=ii+nPi.loss]]]>在另一实施例中,合并条件相应于合并与最小位预算增加对应的两个底部树仓。与最小位预算增加对应的底部树仓为argmini:i+n[Pi:i+n.loss+Pi:i+n.bi-Σj=ii+nPi.loss+Pi.bi]]]>在可替换实施例中,合并条件对应于与最小仓信息对应的两个底部树仓。与最小仓信息对应的底部树仓表示为argmini:i+n[Pi:i+n.bi]]]>在另一实施例中,合并条件相应于合并与最小loss对应的两个底部树仓。与最小loss对应的底部树仓为argmini:i+n[Pi:i+n.loss]]]>在另一实施例中,合并条件相应于合并与最小位预算对应的两个底部树仓。与最小位预算对应的底部树仓为argmini:i+n[Pi:i+n.loss+Pi:i+n.bi]]]>持续合并底部树仓过程,直至到达终止条件,如步骤86所示。终止条件可以通过如下方法确定。
在实施例中,根据多个底部树仓确定终止条件。在另一实施例中,终止条件根据失真量确定,其中失真为所述多个底部树码元的因素。在另一实施例中,终止条件根据底部树仓的数目与压缩率确定。
在步骤88,使用底部树仓与合并底部树仓,生成所需的仓结构。在实施例中,所需仓结构包括未合并的底部树仓与没有进一步合并的合并底部树仓。
下面描述一个例子,说明实现图6步骤的方法。本例中未压缩数据为一四位数据。如图7所示,该四位数据在16个底部树仓110至124中表示。仓110包含底部树码元3,仓111包含顶部树码元0,仓112包含顶部树码元-1,仓113包含顶部树码元1,等等。每个仓中的字段如下所述。
图7表示初始底部树结构92。该底部树结构包括15个底部树仓110至124。由此,底部树仓123与124合并为合并底部树仓125,如图8所示。根据合并条件,底部树仓121与122被合并为合并底部树仓126,如图9所示。合并底部树仓125与126被进一步合并为合并底部树仓127,如图10所示。由此生成所需仓结构,并且该仓结构包括底部树仓110至120与127。在以上实施例中,描述了所需仓结构的生成,或者使用了顶部树结构或者使用了底部树结构。可替换地,本领域技术人员应该理解所需仓结构可以通过使用顶部树仓结构方法与底部树仓结构方法的结合方法生成。
上述生成所需仓结构的方法可以通过使用计算机系统来实现。下面将详细描述通过使用计算机系统来生成所需仓结构的方法。
图11显示了通用计算机系统130的示意图,该系统能够用来如上述方法一样生成用于编码数据的所需仓结构。一般性地,计算机系统130包括至少一个处理器132、存储器134、输入/输出设备136、及连接处理器、存储器与输入/输出设备的数据通路(如总线)146。处理器132从存储器134接受指令与数据,并且执行各种运算,如通用位置编码。处理器132包括算术逻辑单元(ALU),用来执行算术与逻辑运算;以及控制单元,用来从存储器134提取指令、解码并执行这些指令,同时在必要时调用ALU。存储器134一般包括随机读写存储器(RAM)与只读存储器(ROM);然而,可能有其他类型的存储器,如可编程只读存储器(PROM),可擦除可编程只读存储器(EPROM)与电可擦除可编程只读存储器(EEPROM)。还有,存储器134最好包含操作系统,其在处理器132上运行。该操作系统执行基本任务,包括识别输入,将输出送到输出设备,记录文件与目录,以及控制各种外围设备。
输入/输出设备可能包括键盘138与鼠标137,它们允许用户将数据与指令输入到计算机系统130内。同样,显示140可能用来允许用户观察计算机完成任务的情况。其他输出设备可能包括打印机、绘图仪、合成器与喇叭。通信设备142可以是诸如电话或电缆调制解调器、或者网络卡(如以太网适配器、局域网(LAN)适配器、综合业务数字网络(ISDN)适配器或数字用户线(DSL)适配器),这些设备能使计算机系统130读取如局域网或广域网(WAN)上的其他计算机与资源。
海量存储设备144可能被用来允许计算机系统130永久保有大量的数据。海量存储设备可能包括所有类型的磁盘驱动器,如软盘、硬盘与光盘,以及磁带驱动器,该磁带驱动器能够读写磁带上的数据,该磁带包括数字音频带(DAT)、数字线形带(DLT)或其他磁编码介质。上述计算机系统130可以采用如下形式手持数字计算机、个人数据助理计算机、笔记本计算机、个人计算机、工作站、微机、大型机或超级计算机。
如上所述,该编码数据方法可以应用于医疗图像。图12提供了示例性成像系统的一般性概图,在该系统中可能应用依据本发明优选实施例的通用位置编码。成像系统150一般包括成像仪152,用来检测图像数据或信号,并将信号转换为有用的数据。如下较详细的描述,成像仪152可能依据生成图像数据的各种物理原理运行。然而,表示患者体内感兴趣区域的图像数据一般由成像仪或者以常规支持手段,如照片,或者以数字介质生成。
成像仪在系统控制电路154的控制下运行。系统控制电路可能包括许多电路,如放射源控制电路、定时电路、用于结合患者或操作台的运动协调数据获取的电路、用于控制放射或其他源以及探头的位置的电路,等等。
在获得图像数据或信号之后,成像仪152可能处理信号,如用于转换为数字值,并将图像数据传送给数据获取电路156。在模拟介质的情况下,如照片,数据获取电路一般可能包括对胶片的支持,以及用来显影胶片并生成硬拷贝的设备。对数字系统,数据获取电路156可能执行许多初始的处理功能,如对数字动态范围的调整、平滑或锐化数据,以及在需要时编辑数据流与文件。
然后,数据被传送到数据处理电路158,在那里进行其他处理与分析。对传统介质,如照片,数据处理电路可能将文本信息加到照片上,以及附加某些记录或患者辨别信息。对各种现有数字成像系统,数据处理电路进行数据的深入分析,数据排列,锐化、平滑、特征识别等等。
最终,图像数据被传送给某类操作员界面160,用于观看与分析。虽然在观看前可以在图像数据上进行操作,但操作员界面160在某些时候可用来观看基于收集到的图像数据所重现的图像。应该注意到在照片的情况下,图像一般是挂在光板上或类似显示手段上,以允许放射师与主治医师更便宜地观看并标注图像序列。图像可能存储在短期或长期存储设备上,对当前的目的而言,图像一般被认为包括在界面160之内,如图片存档通信系统。图像数据也可以被传送到远方,如通过网络。
应该注意到,从一般的观点看,操作员界面160提供该成像系统的控制,一般通过与系统控制电路154的接口。另外,还应该注意到,可能提供多于一个的操作员界面160。因此,成像扫描仪或工作站可能包括界面,该界面允许调节在图像数据获取过程中所涉及的参数,但是可能提供不同的操作员界面用于操作、改善、并观看结果重现图像。
前面描述的本发明的实施例有许多优点,包括在压缩率与设计算法复杂度之间达到平衡。换而言之,较好地提供了不是太复杂的算法,用于编码大量的数据,同时保持了好的压缩比率。
尽管此处只图解并描述了本发明的某些特征,但本领域的技术人员将会想到许多修改与改动。因此,应该理解所附权利要求是用来覆盖所有这些落入本发明实际精神内的修改与改动。
权利要求
1.一种用于编码数据的方法,所述方法包括基于所述数据的位深度,初始化顶部树仓结构,所述顶部树仓结构包括多个顶部树仓,每个所述顶部树仓包括多个顶部树码元;基于分割条件,将任何一个所述顶部树仓分割为两个分割顶部树仓;重复所述分割步骤,直至达到终止条件;以及使用所述多个顶部树仓和所述多个分割顶部树仓生成所述所需仓结构。
2.如权利要求1所述的方法,其中不分割具有等于0的原始的顶部树仓。
3.如权利要求1所述的方法,其中所述多个顶部树码元的每一个都表示所述未压缩数据。
4.如权利要求1所述的方法,其中基于将所述多个顶部树仓的每一个都准分割为多个子顶部树仓,确定所述分割条件,所述分割步骤包括将所述多个子顶部树仓的每一个的仓信息相加,分割包括相应于最小仓信息增加的所述多个子顶部树仓的所述顶部树仓之一。
5.如权利要求1所述的方法,其中基于最大损失确定所述分割条件。
6.如权利要求1所述的方法,其中基于将所述多个顶部树仓的每一个都准分割为多个子顶部树仓,确定所述分割条件,所述分割步骤包括将所述多个子顶部树仓的每一个的损失相加,分割包括相应于最大损失减少的所述多个子顶部树仓的所述顶部树仓之一。
7.如权利要求1所述的方法,其中基于最大位预算确定所述分割条件。
8.如权利要求1所述的方法,其中所述分割步骤包括将所述多个顶部树仓的每一个都准分割为多个子顶部树仓,分割包括相应于最小位预算增加的所述多个子顶部树仓之一的所述顶部树仓之一。
9.如权利要求1所述的方法,其中数学运算为小波变换运算并且反向数学运算为反向小波变换运算。
10.一种用于编码未压缩数据的方法,所述数据具有预定的位深度,所述方法的步骤包括初始化底部树仓结构,所述底部树仓结构包括多个底部树仓,每个所述底部树仓都包括多个底部树码元;基于合并条件,合并所述多个底部树仓中的至少两个,以生成多个合并底部树仓;重复所述合并步骤直至达到终止条件;以及使用所述多个底部树仓和所述多个合并底部树仓,以生成所述所需仓结构。
11.如权利要求10所述的方法,其中基于合并相应于最小损失的所述多个仓中的两个,确定所述合并条件。
12.如权利要求10所述的方法,其中基于合并相应于最小位预算的所述多个仓中的两个,确定所述合并条件。
13.如权利要求10所述的方法,其中每个所述多个底部树码元都表示所述未压缩数据。
14.如权利要求10所述的方法,进一步包括在所述未压缩数据上进行数学运算;以及在所述解压缩数据上进行反向数学运算。
15.如权利要求10所述的方法,其中数学运算为小波变换运算并且所述反向数学运算为反向小波变换运算。
16.如权利要求10所述的方法,其中所述未压缩数据表示图像。
17.一种数据编码系统(10),包括用于生成所需仓结构的通用位置编码部件(18),所述通用位置编码部件包括初始化部件(14),所述初始化部件被配置用于初始化树仓结构;以及处理部件(16),耦合至所述初始化部件,所述处理部件被配置用于处理所述树仓结构和所述未压缩数据,以生成所述所需仓结构。
18.如权利要求17所述的数据编码系统,其中所述初始化部件初始化顶部树仓结构(50),所述顶部树仓结构包括多个顶部树仓,每个所述顶部树仓都包括多个顶部树码元;所述处理部件基于分割条件,分割所述多个顶部树仓的任何一个以生成多个分割顶部树仓;以及所述处理部件进一步分割所述多个顶部树仓直至达到终止条件;以及所述处理部件使用所述多个顶部树仓和所述多个分割顶部树仓,生成所述所需仓结构。
19.如权利要求18所述的数据编码系统,其中基于将所述多个顶部树仓的每一个都准分割为多个子顶部树仓,确定所述分割条件,将所述多个子顶部树仓的每一个的仓信息相加,分割包括相应于最小仓信息增加的所述多个子顶部树仓的所述顶部树仓之一。
20.如权利要求18所述的数据编码系统,其中基于将所述多个顶部树仓的每一个都准分割为多个子顶部树仓,确定所述分割条件,将所述多个子顶部树仓的每一个的损失相加,分割包括相应于最大损失减少的所述多个子顶部树仓的所述顶部树仓之一。
21.如权利要求18所述的数据编码系统,其中基于将所述多个顶部树仓的每一个都准分割为多个子顶部树仓,确定所述分割条件,分割包括相应于最小位预算增加的所述多个子顶部树仓之一的所述顶部树仓之一。
22.如权利要求17所述的数据编码系统,其中所述初始化部件初始化底部树仓结构(92),所述底部树仓结构包括多个底部树仓;其中每个所述底部树仓都包括多个底部树码元;所述处理部件基于合并条件,合并所述多个底部树仓中的至少两个,以生成多个合并底部树仓;以及所述处理部件进一步合并所述多个底部树仓,直至达到终止条件;以及所述处理部件使用所述多个底部树仓和所述多个合并底部树仓,以生成所述所需仓结构。
23.如权利要求22所述的数据编码系统,其中基于合并相应于最大仓信息减少的所述多个底部树仓中的至少两个,确定合并条件。
24.如权利要求22所述的数据编码系统,其中基于合并相应于最小损失增加的所述多个底部树仓中的至少两个,确定合并条件。
25.如权利要求22所述的数据编码系统,其中基于合并相应于最小位预算增加的所述多个底部树仓中的至少两个,确定合并条件。
26.如权利要求18所述的数据编码系统,其中所述多个顶部树码元的每一个都表示所述未压缩数据。
27.如权利要求22所述的数据编码系统,其中每个所述多个底部树码元都表示所述未压缩数据。
28.如权利要求17所述的数据编码系统,进一步包括数学运算部件(12),耦合至熵编码器部件,所述数学运算部件被配置用于在所述未压缩数据上进行数学运算;以及反向数学运算部件(20),耦合至熵解码器部件,所述反向数学运算部件被配置用于在所述解压缩数据上进行反向数学运算。
29.如权利要求28所述的数据编码系统,其中所述数学运算为小波变换运算并且所述反向数学运算为反向小波变换运算。
30.一种存储计算机指令的计算机可读介质,所述计算机指令用于指示计算机系统编码未压缩数据,该计算机指令包括初始化树仓结构;以及处理所述树仓结构和所述未压缩数据,以生成所述所需仓结构。
31.如权利要求30所述的计算机可读介质,其中初始化顶部树仓结构,所述顶部树仓结构包括多个顶部树仓;其中每个所述顶部树仓都包括多个顶部树码元;基于分割条件,分割所述多个顶部树仓的任何一个,以生成多个分割顶部树仓;进一步分割所述多个顶部树仓,直至达到终止条件;以及使用所述多个顶部树仓和所述多个分割顶部树仓生成所述所需仓结构。
32.如权利要求30所述的计算机可读介质,其中所述处理包括初始化底部树仓结构,所述底部树仓结构包括多个底部树仓;其中每个所述底部树仓都包括多个底部树码元;基于合并条件,合并所述多个底部树仓中的至少两个,以生成多个合并底部树仓;进一步合并所述多个底部树仓,直至达到终止条件;以及使用所述多个底部树仓和所述多个合并底部树仓,以生成所述所需仓结构。
33.如权利要求31所述的计算机可读介质,其中所述多个顶部树码元的每一个都表示所述未压缩数据。
34.如权利要求32所述的计算机可读介质,其中每个所述多个底部树码元都表示所述未压缩数据。
35.如权利要求30所述的计算机可读介质,进一步包括在所述未压缩数据上进行数学运算;以及在所述解压缩数据上进行反向数学运算。
36.如权利要求35所述的计算机可读介质,其中所述数学运算为小波变换运算并且所述反向数学运算为反向小波变换运算。
37.如权利要求30所述的计算机可读介质,其中所述未压缩数据表示图像。
38.一种用于生成编码未压缩数据的所需仓结构的方法,所述方法包括初始化树仓结构;以及处理所述树仓结构和所述未压缩数据,以生成所述所需仓结构。
39.权利要求38所述的方法,进一步包括基于所述数据的位深度,初始化顶部树仓结构,所述顶部树仓结构包括多个顶部树仓,每个所述顶部树仓包括多个顶部树码元;基于分割条件,将任何一个所述顶部树仓分割为两个分割顶部树仓;重复所述分割步骤,直至达到终止条件;以及使用所述多个顶部树仓和所述多个分割顶部树仓,生成所述所需仓结构。
40.如权利要求39所述的方法,其中不分割具有等于0的原始的顶部树仓。
41.如权利要求39所述的方法,其中所述多个顶部树码元的每一个都表示所述未压缩数据。
42.如权利要求39所述的方法,其中基于将所述多个顶部树仓的每一个都准分割为多个子顶部树仓,确定所述分割条件,所述分割步骤包括将所述多个子顶部树仓的每一个的仓信息相加,分割包括相应于最小仓信息增加的所述多个子顶部树仓的所述顶部树仓之一。
43.如权利要求39所述的方法,其中基于最大损失确定所述分割条件。
44.如权利要求39所述的方法,其中基于将所述多个顶部树仓的每一个都准分割为多个子顶部树仓,确定所述分割条件,所述分割步骤包括将所述多个子顶部树仓的每一个的损失相加,分割包括相应于最大损失减少的所述多个子顶部树仓的所述顶部树仓之
45.如权利要求39所述的方法,其中基于最大位预算确定所述分割条件。
46.如权利要求39所述的方法,其中所述分割步骤包括将所述多个顶部树仓的每一个都准分割为多个子顶部树仓,分割包括相应于最小位预算增加的所述多个子顶部树仓之一的所述顶部树仓之一。
47.如权利要求39所述的方法,其中数学运算为小波变换运算并且反向数学运算为反向小波变换运算。
48.权利要求38所述的方法进一步包括初始化底部树仓结构,所述底部树仓结构包括多个底部树仓,每个所述底部树仓都包括多个底部树码元;基于合并条件,合并所述多个底部树仓中的至少两个,以生成多个合并底部树仓;重复所述合并步骤直至达到终止条件;以及使用所述多个底部树仓和所述多个合并底部树仓,以生成所述所需仓结构。
49.如权利要求48所述的方法,其中基于合并所述相应于最小损失的多个仓中的两个,确定所述合并条件。
50.如权利要求48所述的方法,其中基于合并相应于最小位预算的所述多个仓中的两个,确定所述合并条件。
51.如权利要求48所述的方法,其中每个所述多个底部树码元都表示所述未压缩数据。
52.如权利要求48所述的方法,进一步包括在所述未压缩数据上进行数学运算;以及在所述解压缩数据上进行反向数学运算。
53.如权利要求48所述的方法,其中数学运算为小波变换运算并且所述反向数学运算为反向小波变换运算。
54.如权利要求48所述的方法,其中所述未压缩数据表示图像。
55.一种用于编码未压缩数据的系统,所述系统包括用于初始化树仓结构的装置;以及用于处理所述树仓结构和所述未压缩数据,以生成所述所需仓结构的装置。
56.如权利要求55所述的系统,其中所述用于初始化的装置包括用于初始化顶部树仓结构的装置,所述顶部树仓结构包括多个顶部树仓;其中每个所述顶部树仓都包括多个顶部树码元;并且其中所述用于处理的装置包括用于基于分割条件,分割所述多个顶部树仓的任何一个以生成多个分割顶部树仓的装置;用于进一步分割所述多个顶部树仓直至达到终止条件的装置;以及用于使用所述多个顶部树仓和所述多个分割顶部树仓生成所述所需仓结构的装置。
57.如权利要求55所述的系统,其中所述用于初始化的装置包括用于初始化底部树仓结构的装置,所述底部树仓结构包括多个底部树仓;其中每个所述底部树仓都包括多个底部树码元;并且其中所述用于处理的装置包括用于基于合并条件,合并所述多个底部树仓中的至少两个,以生成多个合并底部树仓的装置;用于进一步合并所述多个底部树仓,直至达到终止条件的装置;以及用于使用所述多个底部树仓和所述多个合并底部树仓,以生成所述所需仓结构的装置。
58.如权利要求56所述的系统,其中所述多个顶部树码元的每一个都表示所述未压缩数据。
59.如权利要求57所述的系统,其中每个所述多个底部树码元都表示所述未压缩数据。
60.如权利要求55所述的系统,进一步包括用于在所述未压缩数据上进行数学运算的装置;以及用于在所述解压缩数据上进行反向数学运算的装置。
61.如权利要求60所述的系统,其中所述数学运算为小波变换运算并且所述反向数学运算为反向小波变换运算。
62.如权利要求55所述的系统,其中所述未压缩数据表示图像。
全文摘要
提供了一种用于编码未压缩数据的通用位置编码方法和系统(18)。数据码元被分配到仓部分与原始部分,并且使用数据树结构。自顶向下的方法涉及基于数据的位深度初始化数据树;基于预定的分割条件分割仓以形成两个独立的仓;以及重复分割步骤直至满足终止条件。自底向上的方法涉及形成数据树;基于合并条件,合并两个现存仓以形成新仓;和重复合并步骤直至满足终止条件。
文档编号G06T9/40GK1545211SQ200310119629
公开日2004年11月10日 申请日期2003年11月27日 优先权日2002年11月27日
发明者索马塞科哈·德哈维拉, 弗雷德里克·W·惠勒, 索马塞科哈 德哈维拉, 里克 W 惠勒 申请人:通用电气公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1