CN101485095A - 数据压缩 - Google Patents
数据压缩 Download PDFInfo
- Publication number
- CN101485095A CN101485095A CNA2007800230834A CN200780023083A CN101485095A CN 101485095 A CN101485095 A CN 101485095A CN A2007800230834 A CNA2007800230834 A CN A2007800230834A CN 200780023083 A CN200780023083 A CN 200780023083A CN 101485095 A CN101485095 A CN 101485095A
- Authority
- CN
- China
- Prior art keywords
- numerical value
- sign indicating
- indicating number
- value
- positional
- 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.)
- Granted
Links
Images
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
Abstract
概略地,按照一个实施例,公开了用于数据压缩的方法。
Description
技术领域
本专利申请涉及数据压缩。
背景技术
众所周知,用于存储或传输的有效的数据编码仍旧是其中寻求新方法的领域。例如,如果数据可以诸如通过压缩而被更有效地编码,则用来存储要被编码的数据的存储器的量可以减小。同样地,在通信系统中,如果数据可以被有效地编码,则例如,对于给定带宽的通信信道,在给定的时间单位内可以潜在地发送更多的信息。这些目标和许多其它目标可以是用于有效的数据压缩的方法的目的。
附图说明
主题在说明书的结论部分中被具体地指出,但请求不同保护。然而,请求保护的主题,包括它的组织和操作方法以及它的目的、特征和优点,如果结合附图阅读,可以通过参考以下的详细说明而被最好地理解,其中:
图1是图示用于数据编码的技术的一个实施例的示意图。
具体实施方式
在以下的详细说明中,许多具体细节被阐述,以便提供对于请求保护的主题的透彻的了解。然而,本领域技术人员将会看到,请求保护的主题可被实践而不用这些具体细节。在其它事例中,熟知的方法、过程、部件和/或电路没有进行详细描述,以免遮蔽请求保护的主题。
随后的详细说明的某些部分通过算法和/或对于数据比特的操作的符号表示和/或被存储在计算系统内,诸如在计算机和/或计算系统存储器内的二进制数字信号被提供。这些算术描述和/或表示是由数据处理领域技术人员使用来把他们的工作输送给本领域其它技术人员的技术。算法在这里和通常被认为是自身一致的运算序列和/或导致想要的结果的类似处理。运算和/或处理可包括物理量的物理操作。典型地,虽然不一定必须,这些量可以取电信号和/或磁信号的形式,这些信号能够被存储、传送、组合、比较和/或操控。把这些信号称为比特、数据、数值、单元、符号、字符、术语、编号(number)、数字(numeral)等等有时证明是方便的,特别是为了通常的用法。然而,应当看到,所有的这些和类似的术语是与适当的物理量相关联的,以及仅仅是方便的标签。除非专门阐述,正如从以下讨论看到的那样,将会意识到,在本说明书讨论中,利用诸如“处理”、“计算”、“算出”、“确定”等等的术语涉及到诸如计算机或类似的电子计算设备那样的计算平台的动作和/或处理,在计算平台的处理器、存储器、寄存器和/或其它信息存储装置、传输和/或显示设备内操控和/或变换被表示为物理的电子的和/或磁的量和/或其它物理量的数据。
正如以前提到的那样,请求保护的主题的实施例的一个潜在的,但不是排他的,应用可以属于低比特率音频和/或视频编码的领域。在这个具体的领域中例如典型地希望相当有效地压缩数据。在这个和类似的领域中,也希望,如以前提出的那样,在通信信道上,诸如在可能受到对于可被发送的比特数目或对于比特传输速率的限制的信道上发送信息。所以,相当有效的编码会导致例如每单位时间发送更多的信息。另一个应用,也正如以前提出的那样,可以是在电子设备上的数据压缩,诸如,例如用于数据存储。这例如可以减小所利用的存储器的量,或作为另一个例子,例如通过减小附着到电子邮件的附件的大小有助于实行数据传输。当然,请求保护的主题不限于这些简单的例子。提供这些例子仅仅是为了说明。
Golomb编码是熟知的,它在Golomb,SW:“Run-length encoding”,IEEE Trans.Inf.Theory,1966,7,(12),pp.399-401中被描述。Golomb码仅仅是数据编码的一个例子。所以,虽然后面描述的许多例子通过Golomb编码被提供,但应当看到,请求保护的主题不打算把范围仅仅限于Golomb码(GC)。可以利用编码数据的其它方法,并且提供满意的结果。无论如何,继续把Golomb编码作为一个例子,GC常常被使用于行程长度编码,但在原理上,它们是通用码,可被使用来编码任何码元或码元序列,作为整数或整数的序列。在一个可能的实施例中,独特的整数可被分配给码元,然后码元可以通过例如Golomb编码相应的数而被编码。GC具有优点:数字的范围不需要事先知道或受到约束。
在一个具体的例子中,数字I,模K的Golomb码(其中K在本例中是‘基’)可通过(S,E,R)被如下定义:
S=数字I的正负号,如果合适的话(如果这些数是全部正的或全部负的,它可以省略)。
M=I的幅度
E=指数fix(logk(M)),其中fix()在这里表示截断运算,也就是,舍入到下一个最低的整数。
R=M-KE,在这里被称为“剩余数(residual)”。
所以,I的幅度可以通过M=KE+R而得到。
然而,应当指出,logk(0)可以提供数学诡辩,原因在于K的任何次方不应当给出零。可被利用来解决这一点的一个方法包括把1加到所有的非负整数,这样,logk(0)应当不出现,虽然,当然,在这方面不限制请求保护的主题的范围。
有时,为了方便起见,例如,K=2,这样Golomb码可以提供可变长度的二进制浮点表示的形式,具有指数E和可变长度E比特的剩余数R。这种情形例如显示于图1,虽然,当然,在这方面不限制请求保护的主题的范围。
正如在由Monro在2006年6月5日提交的、标题为“DataCoding”的和转让给本请求保护的主题的受让人的、共同待决的美国专利申请序列号No.11/422,316中描述的,在一个实施例中,可以利用编码数据码元的方法,包括Golomb编码。然而,正如前面说明的,请求保护的主题在范围上不限于Golomb编码。在这样的实施例中,码元可以通过指数值E和剩余数值R被Golomb编码,指数值基本上按照可变长度码被编码,再次地,如下面更详细地描述的那样。
在这个具体的实施例中,例如,可变长度码(VLC)可被利用来替换码元,其中短码可被使用于更经常出现的码元,以及较长的码用于不太经常出现的码元。这样,码的平均长度可以减小。VLC的一个熟知的例子包括Huffman编码,虽然还存在许多其它例子。例如,Fano/Shannon编码包括VLC,如Morse码那样,它用短码替代经常出现的字母,如E(一个点),以及用较长的码替代其它字母,如X(短划点点短划)。当然,请求保护的主题在范围上不限于这些例子。提供这些仅仅是为了用于说明。
同样地,另一个实施例可包括一种用相应的正的非零数V编码码元的方法。可以确定指数E的最大整数值,对于该指数E,bE不超过V,其中b是整数模数值,以及E=fix(logb(V))。同样地,可以计算剩余数R=V-bE。所以可以生成码元码,其包括指数的数值,被编码为可变长度码,以及剩余数值。当然,请求保护的主题在范围上不限于这个具体实施例。这仅仅是被包括在请求保护的主题的范围内的实施例的一个例子。
各种修改是可能的,以及所有的修改打算被包括在请求保护的主题的范围内。例如,在一个替换实施例中,码元可以任选地被包含在码元字母表中,它按照预期的出现概率排名(rank)码元,V的数值表示码元排名。
同样地,在一个实施例中,可变长度编码器(VLC),诸如,例如Huffman编码器,可以编码诸如Golomb码的码的指数,例如用于有效地编码和压缩码元流。然而,VLC可以是自适应的或静态的,例如取决于特定的实施例。
虽然在这方面不限制请求保护的主题的范围,但应当指出,这里描述的编码过程的实施例有时可以在真实的应用中执行Huffman编码。同样地,虽然请求保护的主题在范围上不限于这方面,但实施例可以方便地应用到行程长度编和/或用于难对付的概率分布,虽然这些仅仅是例子,以及在这方面不限制请求保护的主题的范围。
示例实施例,除了数据编码方法的实施例以外,可包括结合这样的方法的计算机程序;和/或编码器,诸如以硬件、固件、软件或它们的组合被实施。实施例还可包括体现这样的方法的视频和/或音频编码译码器;视频和/或音频压缩系统,由此数据可以按照这样的方法被编码,以及在其中这样的数据可以通过通信信道被传送,用于由在远端的译码器重建。可替换地,编码的数据可被存储,而不是发送。这些和许多其它实施例被包括在请求保护的主题的范围内。
图1例如显示使用正负号和幅度表示法的Golomb编码的N比特固定点二进制数字的实施例。最前面的比特S(它在替换实施例中可以省略)指示正负号。这后面跟随多个非重要的前面的零。第一个有效位(FSB)出现在位置E,FSB的位置由此指示指数值。剩余的比特由随后的E个比特表示,这在本上下文中被称为“剩余数”R。在这个表示法中,数的幅度M仅仅是由标号为0到N-1的N个比特表示的二进制数的值。
这里,正负号=1或0,
同样地,幅度=M=∑2nbn
其中bn是比特n的数值,0或1,以及进行从n=0到N的求和。
E=FSB的位置=fix(log2M),对于M≥1
R=剩余数=M-2E
它具有E个比特,对于E≥1和M≥2。
在给定图1的表示后,为了在通信信道上传送数据,在本实施例中,可以发送S的数值(如果合适的话)并连同位置值E和剩余数R的数值一起。典型地,剩余数值不被编码,以及比特仅仅按照它们原来的样子逐个地被发送。然而,当然,在某些实施例中可以利用剩余数的熵编码。
在某些情形下,E的数值可以是有希望发送的,原因在于要发送E的比特数目典型地可以是可变的,其是发送剩余数的比特数目。实施Golomb编码器的通常的方法是不发送E的数值,而代之以E相对于被发送的最后的数值的改变。例如,第一码元的发送可以指示E的数值增加1,而第二码元的发送可以指示该数值减小1。第三码元的发送可以指示E的数值保持为相同的。在E的接连的数值之间的差值,实际上,可以作为接连的比特被发送,尽管在这方面不限制请求保护的主题的范围。进一步的细节例如可以在Rice,RF:‘Some practicaluniversal noiseless coding techniques’,Tech.Rep.JPL-79-22,JetPropulsion Laboratory,Pasadena,CA,March 1979中找到。Huffman编码也是熟知的编码数据的方法,其细节可以在Huffman,D.:‘Amethod for the construction of minimum redundancy codes’,Proc.Inst.Radio Eng.,1952,9,(40),pp.1098-1101中找到。
在二进制情形下,如果可以出现的E的最大值是Max_E,则从0到Max_E的所有数值的未编码的表示利用1+fix(log2Max_E)个比特。由于Golomb代码的特征在于我们不一定必须知道数值的范围,从而我们不一定必须知道Max_E的大小。然而,一旦对于特定的数值,E是已知的,那么就知道,R的数值利用E个比特。
Golomb编码,作为示例实施例,至少部分地很行得通,因为R的概率密度通常是相当平坦的,即使在M的概率密度是不均匀等或不对称的情形下。在E的分布中主要表示分布的不对称性,虽然即使它通常呈现很好的性能。在这个特定的实施例中,对于E有平滑影响,因为E的大于1的任何数值覆盖2E个不同的M值。对R有变平坦的影响,因为R数值的数目小于可能的M数值的数目。特定的实施例的一个方面涉及认识到,编码器的有效的运行至少部分依赖于编码E的“花费”。所以,这种花费的减小是希望的。例如,如果E的范围受到约束,比如说,1<E<Max_E,则用1+fix(log2(Max_E-1))个比特的二进制数E-1编码E是可接受的,在种情况下,我们规定仅仅用它的比特作为原始码(Raw Code)来编码E的方法。而且,如果K和Max_E都是2的幂,这可以产生良好的结果,尽管,当然,在这方面不限制请求保护的主题的范围。
比较性的例子可用来表明,利用诸如原始Golomb码那样的原始码,可以提供用于编码数据的合理的技术。假设我们希望发送一系列数字,以及从1到8的所有数字是同样可能的,并且在接连的数字之间没有相关性。实际上,这好像投掷一个8面的骰子的结果。编码和发送这样的数据的一个方式是使用可变长度编码器(VLC),诸如Huffman编码器。
正如熟知的那样,这个数字序列的编码的理论花费或熵,是log28=3比特,以及仅仅以3比特发送该数值是最佳码。在理论上,很好地构建的VLC,诸如Huffman编码器,将认识到这一点,并且也产生最佳代码。然而,实际上,这不会出现,诸如如果VLC是自适应的,以及正在根据多半不具有平坦的观察到的出现直方图的真实数字序列形成它的码。因此,例如有可能,VLC将分配码元具有不同的概率,所以分配1比特码给编码器确定为最经常的那个数字,2比特码分配给下一个数字等等。在这个例子中,我们可以假设从1到7的数字具有1到7个比特,以及我们也可以用7个比特编码数值8。在这种情形下,VLC将平均使用1/8(1+2+3+4+5+6+7+7)个比特,这里35/8=4.375比特,比最佳值约大46%。通常没有意识到,Huffman编码器有时性能如此地坏。
另一方面,原始Golomb码在发送相同的数字序列方面做得较好,虽然这仅仅是一个可能的例子。在这种情形下,E的范围是0-3,我们可以用2比特进行通信。
我们可以列出8个可能的数字所利用的比特的数目:
值 E E比特 R R比特 全部比特
1 0 2 - 0 2
2 1 2 0 1 3
3 1 2 1 1 3
4 2 2 0 2 4
5 2 2 1 2 4
6 2 2 2 2 4
7 2 2 3 2 4
8 3 2 0 0 2
这个代码将平均使用26/8比特,比最佳值约大8%。如果我们说我们事先不知道8是最大数值,则可以允许4比特剩余,如果出现8的话。然后,平均值是30/8比特,或比最佳值约大25%。无论如何,这个例子表明,原始Golomb码在这里性能优于Huffman码。
这时,我们注意到,如果要被发送的数据例如包括一系列Golomb码,则进一步的压缩可以通过作为整体考虑序列而实现,而不是如现有的和现有技术系统或方法那样,逐个地发送各个代码。
正如在图1上示意地显示的那样,Golomb码典型地可包括形式(S,E,R),其中S表示正负号,E表示指数,以及R表示剩余数。因此,包括这样的Golomb码序列的数据流,在一个例子中,至少可以取以下的形式:
S1 E1 R1 S2 E2 R2 S3 E3 R3...S8 E8 R8
通过将这个8个(或无论如何可以有许多个)Golomb码的序列作为单个串处理,可以实现附加压缩。在这个具体的例子中,这可以对于Ei的不同数值而被实现,其中I表示整数,经由其上出现Ei的位置i。对于压缩,数值Ei的序列可以具有特别的兴趣,因为Ri的数值典型地易受到很大的进一步的压缩,所以可以作为普通的,即未压缩的数值被发送。同样地,如果存在正负号Si,它们可以方便地合并到码流中。当然,如果所有的数据具有相同的正负号,则正负号Si可以省略。
在这里我们假设,Golomb码序列作为单个串被处理。结果,数值可以以任何方便的次序被发送。一旦特定的Ei的数值是已知的,它规定在相关的Ri内比特的数目。所以,在某些实施例中,在Ei后面跟随它的相应的Ri可能是方便的。然而,当然,许多其它的安排也是可能的,诸如延迟某些或所有的R和S值,直至串结束为止。请求保护的主题打算包括任何和所有的这样的可能的安排。
我们假设R数值(以及S数值,如果有的话)在串内的位置可以变化,而对于压缩没有很大的恶化。结果,为了讨论的方便和说明目的,我们考虑Ei数值的序列,而没有其它数值。也就是,为了说明起见,我们假设在特定的串内各个Ei数值的安排可以是如下:
E1 E2 E3 E4 E5 E6 E7 E8
1 4 2 1 3 2 4 4
在这个特定的实施例中,如果想要的话,我们可以记录和同样地发送Ei的可能的数值在串内的位置i。这样,在以上的例子中,数值1可以在串内的位置1和4处找到,数值2在位置3和6处,数值3在位置5处,以及数值4在位置2,7和8处。这个信息可以以任何方便的方式被编码,以及例如可被存储或发送。实现这一点的一个方式——虽然这仅仅是一个简单的例子并且不打算用于限制请求保护的主题的范围——是传送以下的码元:
14 EOG 3 6 EOG 5 EOG 2 7 8 EOG
这里,EOG被使用来表示组的结束,这里,对于本例是编组的E数值的序列的结束。
更一般地,编码器可以运行在E数值范围上,以及指示例如Golomb码在包括E数值的序列中的位置。使用伪代码,这个方法的一个潜在的表示如下,虽然这仅仅是例子:
For E=E数值的范围
指示包含E的Golomb码的位置
指示组的结束(EOG)
End
剩余数Ri和正负号Si——如果合适的话——可以如上所述地在任何方便的位置——诸如,例如在位置码后或在EOG码元后被交织——上被传送。如果Ei数值被译码器重新构建,例如,译码器可以不用接收附加数据,确定相关的Ri的长度,以及不用接收附加数据,确定将跟随的Ri比特的预期数目,如上所述,对于Ei≥1和Mi≥2,它是Ei比特,其中Mi=2E+Ri。
将会指出,在以上讨论的实施例中,译码器实际上不传送具体地表示组内的E的数值的数据。而是,这样的信息是隐含的,它是从位置信息——诸如,例如对于这个特定的实施例,在发送的码元列表内组的位置——得到的。当然,还应当指出,许多其它不同的实施例被包括在请求保护的主题的范围内。例如,请求保护的主题在范围上不限于关于在位置与被发送的具体的数据值之间的关联的具体惯例。许多可能的安排或关联的任一项是可能的,以及被包括在请求保护的主题的范围内。
同样地,如果Ei的可能的数值不存在于串内,作为一个例子,可以发送一组零。例如,在一个具体的实施例中,这可以用额外的EOG码元来指示,诸如用“EOG EOG”,例如在空组中的适当的位置处的额外的EOG码元。当然,这再次地仅仅是一个实施例,以及用来通知数值不存在的许多其它方法可以在请求保护的主题的范围内被利用。
应当指出,刚才描述的具体的实施例提供比传统的数据压缩方法更高的效率;然而,附加的效率也可以如下面描述的那样实现,以及这样的实施例打算被包括在请求保护的主题的范围内。例如,位置1到8出现一次。典型地,所以,通过编码方法,每个码元3比特可被利用来进行传送。然而,可以改进压缩的另一个方法代之以指明在位置之间的间距,诸如,例如在行程长度编码中。在这种情形下,代替发送1后面跟随4来指示E数值1的位置,可以发送0来指示在E第一次出现之前没有跳过位置,后面跟随2,以指示跳过两个位置以从位置1到位置4,等等:
0 2 EOG 2 2 BOG 4 BOG 1 5 0 EOG
从较少的码元看来,这里:0,1,2,4,5和EOG是更有效的。
然而,在请求保护的主题的范围内的另一个实施例中,效率可以进一步提高。在发送进行时,典型地,行程长度编码器的可得到的空间变为更小,因为越来越多的数值变为已知的。这样,例如,在第一E组被传送时,不仅仅E=1的位置变为已知的。另外,在作为用于以后的E值的可能的位置进行处理期间,这些可以忽略。所以,行程长度代码在处理期间可以“忽略”这些数值,以及信号未知的位置被跳过,如下:
0 2 EOG 1 1 EOG 1 EOG 0 0 0 EOG
这里,然后,码元的数目被有效地进一步减小到0,1,2和EOG。
至少部分取决于在目前可以得到的应用,也可以利用更复杂的编码方案,诸如,例如使用在由Monro在2003年9月18日提交的和在2005年3月24日公布的、标题为“Data Compression”的PCT专利申请WO 2005/027049以及由相同的发明人在2006年3月16日提交的具有相同的标题的美国专利申请序列号No.10/572121中描述的方法。当然,请求保护的主题在范围上不限于在上述的PCT和美国专利申请中描述的方法。这仅仅是在请求保护的主题的范围内潜在的实施例的另一个例子。然而,在种情况下,在上述的PCT和美国专利申请中描述的编码方法在这里被称为“MERGE(合并)编码器”。
如以上引述的,以上描述的许多实施例有效地行程长度编码数据串。该串无论如何可以例如藉助于另外的Golomb编码而同样地受到进一步压缩。因此,对于给定的E的数值,它在Golomb码流中的出现本身可被Golomb编码。
一旦编码器到达要编码的最后的E值,它的大多数位置变为已知的,而不被传送。在以前的例子中,如果已知有8个Golomb码,码元流可以被缩短为
0 2 EOG 1 1 EOG 1 EOG
然而,这里,假设可能的E值的范围是已知的或能够事先被确定。
在某些情形下,如果E的范围是未知的,和如果码元流的长度也是未知的,可能希望有方法。这里,我们讨论在请求保护的主题的范围内的、用于处理这样的情形的两个可能的实施例,虽然,再次地,这些是例子,以及除了仅仅这两种情形以外的其它方法被包括在请求保护的主题的范围。
让我们假设码元流的长度是已知的。如果是的话,这样的码元流可以用Max_E的数值加前缀,例如,为:
4 0 2 EOG 1 1 EOG 1 EOG
在这种情形下,例如,E数值可以按递升或递降的次序被取出。有可能,Min_E数值更经常地出现,这样,通过利用递降的次序可以得到减小的码元数目的更多的潜在益处。还有可能,可以通知E的两个潜在的数值,即,Min_E或Max_E。一个方法可以在码元流的结尾处加上后缀Max_E和/或Min_E。然而,来自译码器的、等待作为后缀添加的数值的延时在某些情形下可能是缺点。
同样地,作为通知E的最后数值的替换例,可以有通知或表示“NoMore Groups(不再有组)”的引入的码元,诸如以下形式:
0 2 EOG 1 1 EOG 1 EOG NoMoreGroups
然而,指示E的范围,典型地可牵涉到已知的开始点,以及数值可包括以已知的次序行进。然而,如果不是的话,或许也可以通知E的开始值。
在一个实施例中,至少在过程开始后不久,在序列中的Golomb码的数目不能由译码器确定。当接连的E值的位置被识别时,译码器仍旧不能确定精确的码数目,虽然在E组的结尾处,译码器能够根据可得到的数据确定下限。译码器可被构建成使用这一事实:在达到最后的E值后剩余的E值是相同的,但数值的数目通常仍旧是不确定的,除非另外的方法也被利用来确定这一点。
确定码元流的长度的方法是可能的。没有这个方法,可以有未知数目的、跟随在最后的已知码元后面的最后码元。这里假设E的范围是已知的。在以上的例子中,例如,在串的结尾处出现E的两个数值,其中数值是4。
一个潜在的方法可包括加上串或序列的长度作为前缀,由此,在特定的串中Golomb码的总数目可以在E的位置的通知开始之前被指示。在这种情形下,在到达最后的E值后,它的位置是已知的,诸如以上的例子所表明的那样。因此,对于这样的实施例,可以作为完整的消息发送:
8 0 2 EOG 1 1 BOG 1 EOG
同样地,另一个潜在的方法可以是,作为行程长度,包括被加到码元流作为后缀的最后的码元的数目:
0 2 EOG 1 1 EOG 1 EOG 2
可以以任何组合使用用一系列E值和码元流的长度作为前缀或后缀添加的这样的方法。如何组合这样的方法达到更好的结果,至少部分地依赖于码元流的特定的统计。
诸如以前描述的那些实施例的实施例的有用性,从具体的实施方式的讨论中,可以变得更清楚。当然,在这方面不限制请求保护的主题的范围。这个描述仅仅用于说明的目的。如以前指示的那样,上述的由Monro在2003年9月18日提交的和在2005年3月24日公布的、标题为“Data Compression”的PCT申请WO 2005/027049A1以及由相同的发明人在2006年3月16日提交的且具有相同的标题的美国专利申请序列号No.10/572121公开了一种在这里被称为MERGE编码技术的用于数据压缩的技术。
在前述的申请中数据被表征为一系列原子。所以,原子被相加在一起,提供或产生最终得到的数据。在这个特征中,原子被描述为位置、正负号、幅度、和基本函数的下标。幅度可被约束为具有固定数目的比特的精度,在这里被称为PL(precision limit,精度限制)。在本上下文中,涉及到,也被称为,在由相同的发明人和具有相同的标题的美国专利申请序列号No.10/333,480且在2004年7月1日被公布为US 2004/0126018中被描述的内容。应当指出,上述的两个申请要求在2000年8月3日在英国提交的申请的优先权。当然,请求保护的主题在范围上不限于利用PL或PLQ。而是这些仅仅作为用于说明的例子被提供。
在专利申请中的方法利用第一有效位(FSB)的位置,而另外的剩余的PL-1比特描述幅度。在给定PL的精度限制后,可以利用如下过程,例如:
For FSB from最大值to最小值
For RA(幅度剩余数)from 2PL-1 to 0
For每一个所使用的基本函数K
通过行程长度编码来通知
具有属性(FSB,RA,K)的每个原子的位置
发送原子的正负号(1比特)
基本函数组结束
R(PLQ剩余数)组结束
在以上用粗实线显示的子过程表示用于这个具体的实施例的主要的或中心的“MERGE”循环。然而,这可以至少部分地根据以前描述的实施例的各方面被修改,以便通过行程长度编码对Golomb码序列进行操作。在这里应用这样的方法提供以下过程:
For FSB from最大值to最小值
For RA(幅度剩余数)from 2PL-1 to 0
For每一个所使用的基本函数K
做出将行程长度编码具有
属性(FSB,RA,K)的每个原子的位置的
Golomb码(E,RA)的列表
For每个出现的E
行程长度编码E值的位置
发送相应的RE数值(E比特)
发送相应的原子正负号S(1比特)
E组结束
基本函数组结束
R(PLQ剩余数)组结束
可以把这样的看作为在编码器内的编码器,正如以前引述的。这里,至少部分基于Golomb码的指数E的内部编码器被利用于原子的组。对于以上的说明,下标被使用来区分原子的幅度的剩余数RA和行程长度的E值的剩余数RE。
正如以上的实施方式可能提出的那样,有可能进一步行程长度编码E位置本身为Golomb码。所以,编码的附加层由此可以在附加的级别或甚至在几个附加的级别上嵌套。关于位置的统计可以至少部分地影响深度,在这个深度上嵌套这样的编码可以是有利的。在最深的级别或在其它级别上也可以使用编码E值的某些其它方法。请求保护的主题打算包括所有这样的潜在变化。
同样地,在某些实施例中,最终得到的流或串可以,在特定的应用中想要的地方,包括各种各样的、关于被编码的数据码元的附加的或“次要”的信息。例如,如果数据码元表示文本字符,这样的次要信息可以包括属性,诸如彩色、字体、类型-面等等。这样的信息可以在序列的开始或结尾处,或在更方便的地方作为特定的组的一部分被发送。信息还可以与编码的位置值一起被发送。类似的方法也可以应用于剩余数值,虽然这样的方法的想要程度可以至少部分地依赖于特定的应用。
按照请求保护的主题的实施例可被应用到所有类型的数据的编码,包括非数字数据,诸如,例如符号数据,通过在施加编码之前的任何方便的映射而被转换成数字形式。正如指出的那样,实施例通过应用行程长度编码执行得很好,虽然,当然将会看到,请求保护的主题不一定必须这样限制。同样地,打算使请求保护的主题的实施例可被应用到多种不同类型的数据编码的任一种。所以,不打算在它可以应用到的数据类型方面限制请求保护的主题。
当然,将会看到,虽然已描述了特定的实施例,但请求保护的主题在范围上不限于具体的实施例或实施方式。例如,一个实施例可以是以硬件实施,诸如被实施为在设备上或在设备的组合上运行,而例如,另一个实施例可以是以软件实施。同样地,实施例可以以固件,或例如作为硬件、软件和/或固件的组合被实施。同样地,虽然在这方面不限制请求保护的主题的范围,但一个实施例可包括一个或多个物品,诸如存储介质或存储媒体。这个存储介质,诸如,例如一个或多个CD-ROM和/或盘,可以在其上存储指令,该指令在被诸如计算机系统、计算平台或其它系统那样的系统执行时,可以导致按照请求保护的主题的方法的实施例——诸如以前描述的实施例之一——被执行。作为一个潜在的例子,计算平台可包括一个或多个处理单元或处理器、一个或多个输入/输出设备,诸如显示器、键盘和/或鼠标、和/或一个或多个存储器,诸如静态随机存取存储器、动态随机存取存储器、快闪存储器和/或硬盘驱动。
在前述的说明中,已经描述了请求保护的主题的各个方面。为了说明,特定的数目、系统和/或配置被阐述,以便提供对请求保护的主题的透彻了解。然而,从本公开内容获益的本领域技术人员应当看到,请求保护的主题可以不用具体的细节被实践。在其它情况下,熟知的特征被省略和/或被简化,以免遮蔽请求保护的主题。虽然某些特征在这里被说明和/或被描述,现在对于本领域技术人员而言可以发生许多修改、替换、改变和/或等价物。所以,应当看到,所附权利要求打算覆盖属于请求保护的主题的真实的精神的所有这样的修改和/或改变。
Claims (40)
1.一种编码数据码元序列的方法,包括:
(a)形成码序列,其中码包括指数值Ei和剩余数值Ri,i是整数;以及
(b)对于在码内出现的Ei的数值,生成在所述码序列内的表示所述Ei的数值的位置值。
2.权利要求1的方法,其中i包括与所述位置值相关联的整数。
3.权利要求2的方法,其中一个或多个剩余数值在所述序列内被编组在一起,以便放置在一个或多个位置值的后面和/或前面。
4.权利要求2的方法,还包括:发送或存储所述位置值和所述剩余数值作为串。
5.权利要求5的方法,其中所述串用组结尾码元终结。
6.权利要求5的方法,其中表示所述串的长度的信息作为所述串的前缀添加。
7.权利要求5的方法,其中表示指数值的数的信息作为所述串的前缀添加。
8.权利要求5的方法,其中在所述串内的最后的位置值后面跟随有不再有组码元。
9.权利要求5的方法,其中所述剩余数值是在所述串内与它的相应的位置值特定地相关联的。
10.权利要求2的方法,其中所述码序列包括Golomb码序列,以及所述码包括Golomb码。
11.权利要求10的方法,其中所述Golomb码和所述位置值包括二进制格式的表示。
12.权利要求2的方法,其中一个或多个位置值被行程长度编码。
13.权利要求2的方法,其中将所述位置值作为另一个序列对待,以及将所述位置值进一步编码。
14.权利要求13的方法,其中所述另一个序列被编码为Golomb码。
15.权利要求1的方法,其中所述数据码元表示音频流或视频流。
16.权利要求1的方法,其中对于在码内出现的E的所选数值,在所述码内的表示所述E的数值的所述位置值包括i。
17.一种编码数据码元序列的方法,码元由数字Vi以数字形式表示,所述编码方法包括:
(i)对于数据码元:
(a)确定指数Ei的最大整数值,对于该Ei,bEi不超过Vi,其中b是固定模值;以及
(b)计算剩余数Ri=Vi-bEi;
(ii)取所述指数Ei作为码序列,以及对于出现的Ei的数值,生成在所述码序列内的表示所述Ei的数值的位置值;以及
(iii)把所述剩余数Ri与所述Ei的数值相关联。
18.权利要求17的方法,其中在码内的所述位置值包括与i的数值相关联的数值。
19.权利要求18的方法,其中一个或多个位置值被行程长度编码。
20.权利要求17的方法,其中所述数据码元表示音频流或视频流。
21.一种物品,包括:其上存储有指令的存储介质,所述指令如果被执行,还导致如下的编码数据码元序列的方法的执行:
(a)形成码序列,其中码包括指数值Ei和剩余数值Ri,i是整数;以及
(b)对于在码内出现的Ei的数值,生成在所述码序列内的表示所述Ei的数值的位置值。
22.权利要求21的物品,其中所述指令如果被执行,还导致:i包括与所述位置值相关联的整数。
23.权利要求22的物品,其中所述指令如果被执行,还导致:一个或多个剩余数值在所述序列内被编组在一起,以便放置在一个或多个位置值的后面和/或前面。
24.权利要求22的物品,其中所述指令如果被执行,还导致:发送或存储所述位置值和所述剩余数值作为串。
25.权利要求21的物品,其中所述指令如果被执行,还导致:对于在码内出现的E的所选数值,在所述码内的表示所述E的数值的所述位置值包括i。
26.一种设备,包括:
用于形成码序列的装置,其中码包括指数值Ei和剩余数值Ri,i是整数;以及
对于在码内出现的Ei的数值,用于生成在所述码序列内的表示所述Ei的数值的位置值的装置。
27.权利要求26的设备,还包括:用于将一个或多个剩余数值在所述序列内编组在一起,以便放置在一个或多个位置值的后面和/或前面的装置。
28.权利要求26的设备,其中所述指令如果被执行,还导致:发送或存储所述位置值和所述剩余数值作为串。
29.一种设备,包括:计算平台;所述计算平台适于:形成码序列,其中码包括指数值Ei和剩余数值Ri,i是整数;以及对于在码内出现的Ei的数值,生成在所述码序列内的表示所述Ei的数值的位置值。
30.权利要求29的设备,其中所述计算平台还适于把整数i与所述位置值相关联。
31.权利要求30的设备,其中所述平台还适于将一个或多个剩余数值在所述序列内编组在一起,以便放置在一个或多个位置值的后面和/或前面。
32.权利要求30的设备,其中所述计算平台还适于发送或存储所述位置值和所述剩余数值作为串。
33.权利要求21的设备,其中所述计算平台还适于,对于在码内出现的E的所选数值,分配在所述码内的表示所述E的数值的所述位置值作为i。
34.一种物品,包括:其上存储有指令的存储介质,所述指令如果被执行,还导致编码数据码元序列的方法的如下执行,码元由数字Vi以数字形式表示:
(i)对于数据码元:
(a)确定指数Ei的最大整数值,对于该Ei,bEi不超过Vi,其中b是固定模值;以及
(b)计算剩余数Ri=Vi-bEi;
(iv)取所述指数Ei作为码序列,以及对于出现的Ei的数值,生成在所述码序列内的表示所述Ei的数值的位置值;以及
(v)把所述剩余数Ri与所述Ei的数值相关联。
35.权利要求34的物品,其中所述指令如果被执行,还导致:在码内的所述位置值包括与i的数值相关联的数值。
36.权利要求35的物品,其中所述指令如果被执行,还导致:一个或多个位置值被行程长度编码。
37.权利要求35的物品,其中所述指令如果被执行,还导致:所述数据码元表示音频流或视频流。
38.一种设备,包括:计算平台;所述计算平台适于:
对于数据码元,确定指数Ei的最大整数值,对于该Ei,bEi不超过Vi,其中b是固定模值,以及计算剩余数Ri=Vi-bEi;
取所述指数Ei作为码序列,以及对于出现的Ei的数值,生成在所述码序列内的表示所述Ei的数值的位置值;以及
把所述剩余数Ri与所述Ei的数值相关联。
39.权利要求38的设备,其中所述计算平台适于把与i的数值相关联的数值分配给在码内的所述位置值。
40.权利要求35的设备,其中所述计算平台适于行程长度编码一个或多个位置值。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/425,138 | 2006-06-19 | ||
US11/425,138 US7845571B2 (en) | 2006-06-19 | 2006-06-19 | Data compression |
PCT/US2007/014181 WO2007149383A2 (en) | 2006-06-19 | 2007-06-18 | Data compression |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101485095A true CN101485095A (zh) | 2009-07-15 |
CN101485095B CN101485095B (zh) | 2012-04-11 |
Family
ID=38779559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007800230834A Active CN101485095B (zh) | 2006-06-19 | 2007-06-18 | 数据压缩 |
Country Status (6)
Country | Link |
---|---|
US (2) | US7845571B2 (zh) |
EP (1) | EP2033321A2 (zh) |
JP (1) | JP4801776B2 (zh) |
KR (1) | KR101078124B1 (zh) |
CN (1) | CN101485095B (zh) |
WO (1) | WO2007149383A2 (zh) |
Families Citing this family (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070271250A1 (en) * | 2005-10-19 | 2007-11-22 | Monro Donald M | Basis selection for coding and decoding of data |
US8674855B2 (en) * | 2006-01-13 | 2014-03-18 | Essex Pa, L.L.C. | Identification of text |
US7783079B2 (en) * | 2006-04-07 | 2010-08-24 | Monro Donald M | Motion assisted data enhancement |
US7586424B2 (en) * | 2006-06-05 | 2009-09-08 | Donald Martin Monro | Data coding using an exponent and a residual |
US7845571B2 (en) | 2006-06-19 | 2010-12-07 | Monro Donald M | Data compression |
US20070290899A1 (en) * | 2006-06-19 | 2007-12-20 | Donald Martin Monro | Data coding |
US7770091B2 (en) * | 2006-06-19 | 2010-08-03 | Monro Donald M | Data compression for use in communication systems |
US7689049B2 (en) | 2006-08-31 | 2010-03-30 | Donald Martin Monro | Matching pursuits coding of data |
US7508325B2 (en) * | 2006-09-06 | 2009-03-24 | Intellectual Ventures Holding 35 Llc | Matching pursuits subband coding of data |
US20080084924A1 (en) * | 2006-10-05 | 2008-04-10 | Donald Martin Monro | Matching pursuits basis selection design |
US7974488B2 (en) * | 2006-10-05 | 2011-07-05 | Intellectual Ventures Holding 35 Llc | Matching pursuits basis selection |
US7707214B2 (en) * | 2007-02-21 | 2010-04-27 | Donald Martin Monro | Hierarchical update scheme for extremum location with indirect addressing |
US7707213B2 (en) * | 2007-02-21 | 2010-04-27 | Donald Martin Monro | Hierarchical update scheme for extremum location |
US20080205505A1 (en) * | 2007-02-22 | 2008-08-28 | Donald Martin Monro | Video coding with motion vectors determined by decoder |
US10194175B2 (en) | 2007-02-23 | 2019-01-29 | Xylon Llc | Video coding with embedded motion |
US7511638B2 (en) | 2007-07-12 | 2009-03-31 | Monro Donald M | Data compression for communication between two or more components in a system |
US7737869B2 (en) * | 2007-07-12 | 2010-06-15 | Monro Donald M | Symbol based data compression |
US7791513B2 (en) | 2008-10-06 | 2010-09-07 | Donald Martin Monro | Adaptive combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems |
US7864086B2 (en) | 2008-10-06 | 2011-01-04 | Donald Martin Monro | Mode switched adaptive combinatorial coding/decoding for electrical computers and digital data processing systems |
US7786907B2 (en) | 2008-10-06 | 2010-08-31 | Donald Martin Monro | Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems |
US7786903B2 (en) | 2008-10-06 | 2010-08-31 | Donald Martin Monro | Combinatorial coding/decoding with specified occurrences for electrical computers and digital data processing systems |
US8817882B2 (en) * | 2010-07-30 | 2014-08-26 | Qualcomm Incorporated | Coding blocks of data using a generalized form of golomb codes |
US8456333B1 (en) | 2010-10-22 | 2013-06-04 | Smith Micro Software, Inc. | Advanced solid block splitting for lossless data compression |
US9286643B2 (en) | 2011-03-01 | 2016-03-15 | Applaud, Llc | Personalized memory compilation for members of a group and collaborative method to build a memory compilation |
US8990217B2 (en) | 2011-07-13 | 2015-03-24 | International Business Machines Corporation | Lossless compression of high nominal-range data |
CN103918273B (zh) * | 2011-11-08 | 2017-11-17 | 谷歌技术控股有限责任公司 | 确定用于变换系数的二进制码字的方法 |
US9209833B1 (en) * | 2015-06-25 | 2015-12-08 | Emc Corporation | Methods and apparatus for rational compression and decompression of numbers |
US11394396B2 (en) * | 2020-09-25 | 2022-07-19 | Advanced Micro Devices, Inc. | Lossless machine learning activation value compression |
Family Cites Families (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5411614A (en) * | 1977-06-27 | 1979-01-27 | Nec Corp | Code conversion unit for digital signal |
US4168513A (en) * | 1977-09-12 | 1979-09-18 | Xerox Corporation | Regenerative decoding of binary data using minimum redundancy codes |
US4908873A (en) * | 1983-05-13 | 1990-03-13 | Philibert Alex C | Document reproduction security system |
JPS6097435A (ja) * | 1983-11-02 | 1985-05-31 | Hitachi Ltd | 演算処理装置 |
US5218435A (en) * | 1991-02-20 | 1993-06-08 | Massachusetts Institute Of Technology | Digital advanced television systems |
US5315670A (en) * | 1991-11-12 | 1994-05-24 | General Electric Company | Digital data compression system including zerotree coefficient coding |
US5321776A (en) * | 1992-02-26 | 1994-06-14 | General Electric Company | Data compression system including successive approximation quantizer |
GB9204360D0 (en) * | 1992-02-28 | 1992-04-08 | Monro Donald M | Fractal coding of data |
JPH06141301A (ja) | 1992-10-27 | 1994-05-20 | Victor Co Of Japan Ltd | 画像情報圧縮装置、伸長装置及び圧縮伸長装置 |
US5412741A (en) * | 1993-01-22 | 1995-05-02 | David Sarnoff Research Center, Inc. | Apparatus and method for compressing information |
US6086706A (en) * | 1993-12-20 | 2000-07-11 | Lucent Technologies Inc. | Document copying deterrent method |
GB2293733B (en) | 1994-09-20 | 1997-10-22 | Ricoh Kk | Encoder including an embedded coder for performing bit-significance encoding |
US5748786A (en) * | 1994-09-21 | 1998-05-05 | Ricoh Company, Ltd. | Apparatus for compression using reversible embedded wavelets |
US6208744B1 (en) * | 1994-12-14 | 2001-03-27 | Casio Computer Co., Ltd. | Document image processor and method for setting a document format conforming to a document image |
US5754704A (en) * | 1995-03-10 | 1998-05-19 | Interated Systems, Inc. | Method and apparatus for compressing and decompressing three-dimensional digital data using fractal transform |
US5819017A (en) * | 1995-08-22 | 1998-10-06 | Silicon Graphics, Inc. | Apparatus and method for selectively storing depth information of a 3-D image |
US5873076A (en) * | 1995-09-15 | 1999-02-16 | Infonautics Corporation | Architecture for processing search queries, retrieving documents identified thereby, and method for using same |
US5699121A (en) * | 1995-09-21 | 1997-12-16 | Regents Of The University Of California | Method and apparatus for compression of low bit rate video signals |
US6160846A (en) | 1995-10-25 | 2000-12-12 | Sarnoff Corporation | Apparatus and method for optimizing the rate control in a coding system |
AU4131897A (en) | 1996-09-12 | 1998-04-02 | British Technology Group Plc | Object-oriented video system |
US6078619A (en) | 1996-09-12 | 2000-06-20 | University Of Bath | Object-oriented video system |
JPH10117353A (ja) | 1996-10-09 | 1998-05-06 | Nec Corp | データ処理装置および受信装置 |
WO1998034188A1 (en) * | 1997-02-04 | 1998-08-06 | British Telecommunications Public Limited Company | Processor |
JP4412622B2 (ja) * | 1997-02-05 | 2010-02-10 | コニカミノルタビジネステクノロジーズ株式会社 | カラー複写機 |
GB9703441D0 (en) * | 1997-02-19 | 1997-04-09 | British Tech Group | Progressive block-based coding for image compression |
JP2001523233A (ja) * | 1997-04-17 | 2001-11-20 | グラクソ、グループ、リミテッド | 混合物の統計的デコンボルーション |
US6029167A (en) * | 1997-07-25 | 2000-02-22 | Claritech Corporation | Method and apparatus for retrieving text using document signatures |
US5956429A (en) * | 1997-07-31 | 1999-09-21 | Sony Corporation | Image data compression and decompression using both a fixed length code field and a variable length code field to allow partial reconstruction |
GB9716579D0 (en) | 1997-08-05 | 1997-10-08 | Univ Bath | Signal coding and decoding |
US6272180B1 (en) * | 1997-11-21 | 2001-08-07 | Sharp Laboratories Of America, Inc. | Compression and decompression of reference frames in a video decoder |
US6121904A (en) * | 1998-03-12 | 2000-09-19 | Liquid Audio, Inc. | Lossless data compression with low complexity |
US6125348A (en) * | 1998-03-12 | 2000-09-26 | Liquid Audio Inc. | Lossless data compression with low complexity |
KR100317279B1 (ko) * | 1998-11-04 | 2002-01-15 | 구자홍 | 무손실부호화방법및장치 |
US6408300B1 (en) * | 1999-07-23 | 2002-06-18 | International Business Machines Corporation | Multidimensional indexing structure for use with linear optimization queries |
GB9920256D0 (en) * | 1999-08-26 | 1999-10-27 | Wave Limited M | Motion estimation and compensation in video compression |
US6480547B1 (en) * | 1999-10-15 | 2002-11-12 | Koninklijke Philips Electronics N.V. | System and method for encoding and decoding the residual signal for fine granular scalable video |
KR20010105362A (ko) * | 1999-12-28 | 2001-11-28 | 요트.게.아. 롤페즈 | 정합 추적 알고리즘에 기초한 비디오 인코딩 방법 |
GB0004423D0 (en) | 2000-02-24 | 2000-04-12 | Wave Limited M | Video and audio coding |
US6654503B1 (en) * | 2000-04-28 | 2003-11-25 | Sun Microsystems, Inc. | Block-based, adaptive, lossless image coder |
GB0019121D0 (en) * | 2000-08-03 | 2000-09-27 | Wave Limited M | Signal compression and decompression |
GB0021891D0 (en) * | 2000-09-06 | 2000-10-25 | Wave Ltd M | Adaptive video delivery |
US6622145B2 (en) * | 2001-03-30 | 2003-09-16 | Sharp Laboratories Of America | Huffman coding for infinite symbol sets |
GB0108080D0 (en) * | 2001-03-30 | 2001-05-23 | Univ Bath | Audio compression |
US7003039B2 (en) * | 2001-07-18 | 2006-02-21 | Avideh Zakhor | Dictionary generation method for video and image compression |
US7006567B2 (en) * | 2001-11-30 | 2006-02-28 | International Business Machines Corporation | System and method for encoding three-dimensional signals using a matching pursuit algorithm |
FR2833818B1 (fr) * | 2001-12-21 | 2004-11-19 | Oreal | Dispositif comportant un boitier et un applicateur |
US7707231B2 (en) * | 2002-10-16 | 2010-04-27 | Microsoft Corporation | Creating standardized playlists and maintaining coherency |
WO2004051863A1 (en) | 2002-12-04 | 2004-06-17 | Atop Innovation S.P.A. | Automated method for lossless data compression and decompression of a binary string |
JP4350414B2 (ja) * | 2003-04-30 | 2009-10-21 | キヤノン株式会社 | 情報処理装置及び情報処理方法ならびに記憶媒体、プログラム |
US7230551B2 (en) * | 2003-06-20 | 2007-06-12 | Nippon Telegraph And Telephone Corporation | Floating-point type digital signal reversible encoding method, decoding method, apparatuses therefor, and programs therefor |
JP4049793B2 (ja) * | 2003-09-02 | 2008-02-20 | 日本電信電話株式会社 | 浮動小数点信号可逆符号化方法、復号化方法、及びそれらの装置、プログラム及びその記録媒体 |
GB0321954D0 (en) | 2003-09-18 | 2003-10-22 | Wave Ltd M | Data compression |
EP1545010A1 (en) | 2003-12-18 | 2005-06-22 | Deutsche Thomson-Brandt GmbH | Method and device for transcoding N-bit words into M-bit words with M smaller N |
US7079986B2 (en) * | 2003-12-31 | 2006-07-18 | Sieracki Jeffrey M | Greedy adaptive signature discrimination system and method |
GB2409943A (en) | 2004-01-08 | 2005-07-13 | Wave Ltd M | Data compression using matching pursuits algorithms |
GB0412175D0 (en) | 2004-06-01 | 2004-06-30 | Smart Sensors Ltd | Identification of image characteristics |
EP1610560A1 (en) | 2004-06-24 | 2005-12-28 | Deutsche Thomson-Brandt Gmbh | Method and apparatus for generating and for decoding coded picture data |
US7562021B2 (en) * | 2005-07-15 | 2009-07-14 | Microsoft Corporation | Modification of codewords in dictionary used for efficient coding of digital media spectral data |
US7221296B2 (en) * | 2005-08-22 | 2007-05-22 | Streaming Networks (Pvt.) Ltd. | Method and system for fast context based adaptive binary arithmetic coding |
US7813573B2 (en) | 2005-09-08 | 2010-10-12 | Monro Donald M | Data coding and decoding with replicated matching pursuits |
US20070065034A1 (en) | 2005-09-08 | 2007-03-22 | Monro Donald M | Wavelet matching pursuits coding and decoding |
US8121848B2 (en) | 2005-09-08 | 2012-02-21 | Pan Pacific Plasma Llc | Bases dictionary for low complexity matching pursuits data coding and decoding |
US20070053603A1 (en) * | 2005-09-08 | 2007-03-08 | Monro Donald M | Low complexity bases matching pursuits data coding and decoding |
US7848584B2 (en) * | 2005-09-08 | 2010-12-07 | Monro Donald M | Reduced dimension wavelet matching pursuits coding and decoding |
US20070271250A1 (en) * | 2005-10-19 | 2007-11-22 | Monro Donald M | Basis selection for coding and decoding of data |
US8674855B2 (en) * | 2006-01-13 | 2014-03-18 | Essex Pa, L.L.C. | Identification of text |
US8848789B2 (en) * | 2006-03-27 | 2014-09-30 | Qualcomm Incorporated | Method and system for coding and decoding information associated with video compression |
US7783079B2 (en) | 2006-04-07 | 2010-08-24 | Monro Donald M | Motion assisted data enhancement |
US7586424B2 (en) | 2006-06-05 | 2009-09-08 | Donald Martin Monro | Data coding using an exponent and a residual |
US7845571B2 (en) * | 2006-06-19 | 2010-12-07 | Monro Donald M | Data compression |
US7770091B2 (en) | 2006-06-19 | 2010-08-03 | Monro Donald M | Data compression for use in communication systems |
US20070290899A1 (en) * | 2006-06-19 | 2007-12-20 | Donald Martin Monro | Data coding |
US20070294939A1 (en) | 2006-06-22 | 2007-12-27 | Spear Mark C | Enhanced fungal substrate and carrier |
US7689049B2 (en) | 2006-08-31 | 2010-03-30 | Donald Martin Monro | Matching pursuits coding of data |
US7508325B2 (en) | 2006-09-06 | 2009-03-24 | Intellectual Ventures Holding 35 Llc | Matching pursuits subband coding of data |
US20080084924A1 (en) * | 2006-10-05 | 2008-04-10 | Donald Martin Monro | Matching pursuits basis selection design |
US7974488B2 (en) | 2006-10-05 | 2011-07-05 | Intellectual Ventures Holding 35 Llc | Matching pursuits basis selection |
US7707214B2 (en) | 2007-02-21 | 2010-04-27 | Donald Martin Monro | Hierarchical update scheme for extremum location with indirect addressing |
US7707213B2 (en) | 2007-02-21 | 2010-04-27 | Donald Martin Monro | Hierarchical update scheme for extremum location |
US20080205505A1 (en) * | 2007-02-22 | 2008-08-28 | Donald Martin Monro | Video coding with motion vectors determined by decoder |
US10194175B2 (en) * | 2007-02-23 | 2019-01-29 | Xylon Llc | Video coding with embedded motion |
US7737869B2 (en) * | 2007-07-12 | 2010-06-15 | Monro Donald M | Symbol based data compression |
US7990289B2 (en) * | 2007-07-12 | 2011-08-02 | Intellectual Ventures Fund 44 Llc | Combinatorial coding/decoding for electrical computers and digital data processing systems |
US8144037B2 (en) * | 2007-07-12 | 2012-03-27 | Intellectual Ventures Fund 44 Llc | Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems |
US7511638B2 (en) * | 2007-07-12 | 2009-03-31 | Monro Donald M | Data compression for communication between two or more components in a system |
US8055085B2 (en) * | 2007-07-12 | 2011-11-08 | Intellectual Ventures Fund 44 Llc | Blocking for combinatorial coding/decoding for electrical computers and digital data processing systems |
US7602316B2 (en) * | 2007-07-12 | 2009-10-13 | Monro Donald M | Data coding/decoding for electrical computers and digital data processing systems |
US7548176B2 (en) * | 2007-07-12 | 2009-06-16 | Donald Martin Monro | Data coding buffer for electrical computers and digital data processing systems |
US7545291B2 (en) * | 2007-07-12 | 2009-06-09 | Donald Martin Monro | FIFO radix coder for electrical computers and digital data processing systems |
US7671767B2 (en) * | 2007-07-12 | 2010-03-02 | Donald Martin Monro | LIFO radix coder for electrical computers and digital data processing systems |
US7511639B2 (en) * | 2007-07-12 | 2009-03-31 | Monro Donald M | Data compression for communication between two or more components in a system |
-
2006
- 2006-06-19 US US11/425,138 patent/US7845571B2/en active Active
-
2007
- 2007-06-18 CN CN2007800230834A patent/CN101485095B/zh active Active
- 2007-06-18 WO PCT/US2007/014181 patent/WO2007149383A2/en active Application Filing
- 2007-06-18 KR KR1020097000505A patent/KR101078124B1/ko active IP Right Grant
- 2007-06-18 JP JP2009516529A patent/JP4801776B2/ja active Active
- 2007-06-18 EP EP07796222A patent/EP2033321A2/en not_active Withdrawn
-
2010
- 2010-10-29 US US12/915,609 patent/US8038074B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
KR101078124B1 (ko) | 2011-10-28 |
US8038074B2 (en) | 2011-10-18 |
WO2007149383B1 (en) | 2008-05-08 |
WO2007149383A9 (en) | 2009-02-26 |
WO2007149383A3 (en) | 2008-03-13 |
JP4801776B2 (ja) | 2011-10-26 |
WO2007149383A2 (en) | 2007-12-27 |
CN101485095B (zh) | 2012-04-11 |
US20110043389A1 (en) | 2011-02-24 |
JP2009542093A (ja) | 2009-11-26 |
US7845571B2 (en) | 2010-12-07 |
KR20090042232A (ko) | 2009-04-29 |
EP2033321A2 (en) | 2009-03-11 |
US20070290898A1 (en) | 2007-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101485095B (zh) | 数据压缩 | |
CN101496290B (zh) | 数据编码 | |
CN101496288A (zh) | 数据压缩 | |
US5436626A (en) | Variable-length codeword encoder | |
CN101501999B (zh) | 数据编码 | |
KR920011266A (ko) | 디지탈 송수신 방법 및 장치 | |
JPS6148298B2 (zh) | ||
Howard et al. | Parallel lossless image compression using Huffman and arithmetic coding | |
CN1675842B (zh) | 算术编码的方法、设备以及相应解码方法 | |
US4799242A (en) | Multi-mode dynamic code assignment for data compression | |
CN101657973B (zh) | 采用位精度的编码装置和编码方法 | |
KR100636370B1 (ko) | 결정 비트를 이용한 부호화 장치 및 그 방법과 그에 따른복호화 장치 및 그 방법 | |
RU153302U1 (ru) | Кодирующее устройство | |
GB2608030A (en) | Power-aware transmission of quantum control signals | |
CN112262578B (zh) | 点云属性编码方法和装置以及点云属性解码方法和装置 | |
KR100207428B1 (ko) | 허프만 코드 변환에 적응적인 고속 가변장 복호화 장치 및 방법 | |
US11914443B2 (en) | Power-aware transmission of quantum control signals | |
WO2022263790A1 (en) | Power-aware transmission of quantum control signals | |
US3484750A (en) | Statistical encoding | |
CA2998336A1 (en) | Method of data compression | |
KR19990050486A (ko) | 고속 처리 가변 길이 코덱 장치 | |
Hazra et al. | ENTROPY-BASED DATA COMPRESSION USING ARITHMETIC ENCODING |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |