CN101106377A - 用于优化存储的方法和系统 - Google Patents

用于优化存储的方法和系统 Download PDF

Info

Publication number
CN101106377A
CN101106377A CNA200710107036XA CN200710107036A CN101106377A CN 101106377 A CN101106377 A CN 101106377A CN A200710107036X A CNA200710107036X A CN A200710107036XA CN 200710107036 A CN200710107036 A CN 200710107036A CN 101106377 A CN101106377 A CN 101106377A
Authority
CN
China
Prior art keywords
memory
probability
cost
tables
entries
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
Application number
CNA200710107036XA
Other languages
English (en)
Other versions
CN101106377B (zh
Inventor
罗希特·普里
帕塔·斯里拉姆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nvidia Corp
Original Assignee
Nvidia Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nvidia Corp filed Critical Nvidia Corp
Publication of CN101106377A publication Critical patent/CN101106377A/zh
Application granted granted Critical
Publication of CN101106377B publication Critical patent/CN101106377B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code
    • H03M7/42Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory
    • H03M7/425Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code using table look-up for the coding or decoding process, e.g. using read-only memory for the decoding process only
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion 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/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • H03M7/40Conversion to or from variable length codes, e.g. Shannon-Fano code, Huffman code, Morse code

Abstract

本发明描述用于优化可变长度解码系统中的系统性能的系统和方法。描述的实施例中分析解码表并通过出现概率对所述表的要素进行分类。可通过出现概率来确定要素的存储,且本发明的实施例可通过将最可能的条目存储到快速存储器中并将最不可能的条目存储在最慢存储器中来优化系统效率。在某些实施例中,提供不能配合到解码器快速存储器中的单个大表。在一些实施例中,可通过将较频繁出现的条目或条目群组选择到解码器存储器中来优化个别要素,以便存储在快速存储器中。

Description

用于优化存储的方法和系统
技术领域
本发明大体上涉及可变长度解码。更具体来说,本发明涉及用于存储多个解码表以优化系统效率的系统和方法。本发明至少揭示对用于VLC表的解码器存储器使用的优化。
背景技术
包含可变长度编码(VLE)和可变长度解码(VLD)的可变长度译码(VLC)是普遍用于数据无损压缩的方法。使用基于VLC的压缩-解压缩的系统的实例包括常规的语音、音频、图像和视频解决方案。使用基于VLC的压缩-解压缩的译码应用和标准的实例包括例如zip和gzip的文件压缩实用程序以及基于例如高级音频译码(AAC)音频压缩标准、MPEG-3(音频)、JPEG、JPEG2000(图像)、MPEG-4和H.264(视频)等标准的语音、音频、图像和视频系统。在许多压缩/解压缩应用中,大尺寸的表以及多个VLC表用于有效的数据压缩。解码器系统中可用的快速存储器的尺寸限制常常使得不可能容纳整个一组表。因此,在许多常规系统中系统性能和效率经常受到影响。
VLC可提供优于固定长度译码(FLC)n的显著的压缩益处,表1中说明实例如下。在实例中,源X具有由字母代码A、B、C和D表示的四个符号字母。如表1所示,每一符号均具有相关联的发生概率,且为所述字母代码提供二进制表示。
    符号     概率   FLC
    A     0.50   00
    B     0.25   01
    C     0.125   10
    D     0.125   11
表1:代码字长度为2位的固定长度译码的编码器代码本。
因此,在FLC方案下,获得的平均代码字长度为2,因为每个符号使用长度为2的二进制代码字。
表2说明基于VLC的编码器代码本,其中将较短代码长度的代码分配给较高概率符号。
    符号     概率   FLC
    A     0.50   0
    B     0.25  10
    C     0.125  110
    D     0.125  111
表2:可变长度译码的编码器代码本。
平均代码字长度为1.75位。
在此情况下平均代码字长度如下给定:
ACL=(0.5×1)+(0.25×2)+(0.125×3)=1.75,
因此提供比FLC更少的总存储需求。本质上,VLC通过使用较小长度代码字来编码更可能的符号从而获得比FLC更好的压缩性能。
在许多压缩/解压缩应用中,大尺寸的表以及一个以上VLC表用于有效的数据压缩。举例来说,AAC包含10到15个表,每个表具有大量条目。某些AAC表包括多达300个条目。在许多常规系统中,编码器基于所提交的原始数据而在不同的VLC表之间切换,以便有效地编码数据。编码器通过位流本身将切换决定传送到解码器,使得解码器可维持与编码器同步。然而,含有此类语音、音频、图像和视频解决方案的商业产品常常为了维持最少的系统成本而仅有有限的快速存储器资源,且在快速存储器中仅可容纳所有所需表的一部分。因此,在常规商业产品中,在解码时使用低速存储器常常限制系统性能。
发明内容
本发明中的某些实施例提供用于优化VLC表的存储的有效的系统和方法。在一些实施例中,可产生明显的优点,包括存储器资源的保存。一些实施例实施策略来识别VLC表的子集,以便存储到选定的解码器存储器中,使得系统性能的效率最大化。在某些实施例中,可部分基于存储器存取的速度和经识别子集的使用频率来将经识别的子集分配到不同的存储组件。
附图说明
在附图的图式中借助于实例(且并非限制)来说明本发明,附图中类似参考表示类似元件,且其中:
图1说明用于优化存储器使用的解码系统;和
图2描绘用于对VLC表进行分类并在可用存储器中排列VLC表的流程图。
具体实施方式
现在将参看附图详细描述本发明,提供附图作为本发明的说明性实例以便使所属领域的技术人员能实践本发明。应注意,以下的图式和实例并不有意限制本发明的范围。在可使用已知组件来部分或完全实施本发明的某些元件的情况下,将仅描述此类已知组件的对理解本发明是必需的那些部分,且为了不混淆本发明,将省略对此类已知组件的其它部分的详细描述。此外,本发明涵盖本文借助于说明而提及的已知组件的当前和未来的已知等效物。
本发明的实施例可通过对可用存储的优化使用而在解码系统中传递显著的性能改进。在许多实施例中,解码系统可用于对使用基于VLC的压缩-解压缩方法编码的位流进行解码。在某些实施例中,位流可包括使用例如zip和gzip的文件压缩实用程序压缩的数据。在某些实施例中,位流可包括使用包括例如高级语音编码(AAC)音频压缩标准、MPEG-3(音频)、JPEG、JPEG2000(图像)、MPEG-4和H.264(视频)等标准的编码方案编码的语音、音频、图像和视频信息。在某些实施例中,解码位流需要大的解码表。在某些实施例中,解码个别位流需要多个VLC表。
参看图1,本发明的某些实施例包含解码系统,所述解码系统具有以次级存储补充的有限量的较高级存储。当存储的使用比次级存储的使用产生更好的系统性能时,通常将所述存储视为较高级的。在某些实施例中,可对每一存储区或组件分配系统成本,所述系统成本量化了对与所述存储区或组件的使用相关联的性能的影响。在许多实施例中,系统成本与用于实施存储区的存储器装置的存取时间相关。举例来说,设置在处理器上的静态存储器通常比经外部系统总线存取的静态存储器提供更好的存取时间。在许多实施例中,在评估系统成本时可考虑其它因素。举例来说,可基于包括存储器装置的功率消耗在内的因素来调整系统成本。在另一实例中,系统成本可包括对与由于可用快速存储器或其它类型存储装置的耗尽而引起的总系统性能降级相关联的测量。在至少一些实施例中,预定数量或比例的某些存储类型可保留以供系统使用,从而限制特定类型的可用存储的量。将了解,由于系统输入/输出(包括位流)缓冲要求可能使得必需保留较慢存储器的数量,因此对存储类型可用性的限制不一定限于快速存储器。
某些实施例包括一个或一个以上较高级(低成本)存储区和补充的次级(较高成本)存储区18和19。在图1的简化实例中,使用快速存储器16来实施较高级存储区,且使用较慢存储器18和更慢存储器19来实施次级存储区。通常,提供处理器10以接收和控制位流12的解码。处理器10可包括专用定序器、通用微处理器或微控制器和数字信号处理器的组合。在许多实施例中,处理器10接收位流的若干部分并对存储在存储器16、18和19中的一个或一个以上相关的表(例如,VLC表)编索引。在许多实施例中,表可存储在具有一种或一种以上存取速度的存储器中。举例来说,在专用集成电路(ASIC)内与处理器10一起设置的内部寄存器或静态存储器可指定为快速存储器16,而ASIC外部的动态存取存储器(DRAM)可用于最慢存储器19,其中静态外部存储器提供中间存储器18。
在某些实施例中,处理器10也可适合于接收位流12并从中提取解码表14。在一些实施例中,处理器10可适合于对解码表14进行分类并将其排列在存储装置16、18和19中。在至少一些实施例中,提供分类器11以分析解码表并计算解码表14的选定要素和部分的使用概率。在某些实施例中,分类器11可经配置以提取随解码表14提供的概率信息。在某些实施例中,分类器11可包括用于测量经分类的解码表使用的组件,并基于测量值而更新表要素和部分的使用概率。在一些实施例中,可基于经更新的概率信息,在快速和低速存储器16、18和19之间重新分配表14。
在某些实施例中,分类器11可实施为硬件与软件的组合。举例来说,在一些实施例中,可使用微处理器、数字信号处理器或ASIC来实施分类器,且分类器可控制处理器10、由处理器10控制或以另外的方式与处理器10协作。在某些实施例中,分类器11可实施为由处理器10执行的过程、任务或功能。处理器10通常可在包括快闪存储器、磁盘驱动器、动态存储器和静态存储器的易失性和非易失性存储装置的组合中维持一个或一个以上解码表14。在某些实施例中,处理器10可通过所接收的位流、通过网络或其它通信和通过可移除存储装置来接收新的解码表14。
在某些实施例中,处理器10选择一组或一组以上解码表以便解码当前位流。选定组的解码表的若干部分通常基于在通过所述选定表解码的符号位流中出现的概率而分配到快速存储器16和较慢存储器18和19。在某些实施例中,一组解码表中的每个表均可初始存储在基于所存储表的总计概率而选定的存储区中。在某些实施例中,存储以基于与要素相关联的概率来对一组表的要素进行分类而开始。在某些实施例中,可将解码表预先加载或预先分配到快速和低速存储器16、18和19。
将了解,对于包括可用于编码器和解码器的数量为N的VLC表T1、T2...TN的系统,将表的大小表示为Si,其中:
i∈{1,2,...N}。
其中编码器使用的特定表的概率为PTi
Σ i = 1 N P Ti = 1 . - - - ( 1 )
对于表Ti,由ej Ti表示其第j个条目,其中j∈{1,2,...Si}且第j个代码字出现的条件概率可由pj Ti表示。因此:
Σ j = 1 S i p j T i = 1 , ∀ i ∈ { 1,2 , . . . N } . - - - ( 2 )
在某些实施例中,解码器系统具有大小为S的快速存储器,且可将其规定为:
Σ i = 1 N S i > S .
此外,对来自解码器快速存储器的VLC表条目的单次存取可能具有相关联的系统成本cf,且对来自解码器快速存储器外部的VLC表条目的单次存取可能具有相关联的系统成本cs,使得cf<cs。在总共N次存取且其中Nf次从快速存储器存取的解码器系统中,由C表示的每次存取的总平均成本由下式给定
C = N f N c f + ( 1 - N f N ) c s - - - ( 3 )
在本发明的许多实施例中,以使总平均成本C最小化的方式用VLC表条目填充快速存储器。与条目ej Ti相关联的无条件概率可计算如下:
l j Ti = P Ti × p j Ti . - - - ( 4 )
所有无条件概率的总和等于1,且因此:
Σ f = 1 N Σ j = 1 Si l j Ti = 1 .
在一个实例中,可实施对所有表中的所有条目的任意双向分割。第一分区Pf含有总共S个条目,其从各个表中拾取且对应于存储在快速存储器中的条目。第二分区Ps含有其余
Figure A20071010703600077
个条目,其对应于存储在快速存储器外部的条目。在分区Pf中所有条目的概率总和由pf给定且分区Ps中所有条目的概率总和由ps给定的情况下(应注意,pf+ps=1),等式(3)提供与此策略相关联的总平均成本,由下式给定
C=pfcf+pscs
将了解,Pf中条目之一具有比Ps中条目的无条件概率(由L表示,L>1)更小的无条件概率(由1表示)。通过在两个分区之间交换两个条目,系统成本可从原始配置减少ΔC的量,ΔC给定如下:
ΔC=(L-1)×(cs-cf)。
ΔC严格为正,因为L>1且cs>cf。因此,通过重复地将较低概率条目移动到Ps中且将较高概率条目移动到Pf中,系统成本可持续减少。在某些实施例中,优化配置对应于Pf中所有条目的无条件概率大于Ps中所有条目的无条件概率的情况。在某些实施例中,要素的交换可持续进行,直到实现预定的最大总平均成本为止。
在图2中提供用于减少系统成本的算法的一个实例。在步骤200,通常针对所有VLC表条目计算无条件概率。在一些实施例中,处理器10可使用等式(4)计算概率。在步骤210,VLC表条目14可由分类器11分类并以概率的减小次序排列。在步骤220,使用数量为S的条目来填充可用的解码器快速存储器16。通常,用于此类填充的条目将为经分类列表中的前S个条目。在步骤230,当最快存储器填满时,通常基于与剩余VLC表条目相关联的概率来填充其次最快存储器18。当较慢存储器18填满时,其它(最慢)存储器19可用于存储剩余的VLC表条目。以此方式,可优化地分割VLC表,且可使系统效率最大化。
现提供简单的数字实例以说明实施当前描述的系统的系统效率。在本实例中,提供两个VLC表T1和T2,使得每个表具有两个条目,从而获得总共四个条目和如表3所示的表概率。显然,T1可能被使用的概率是T2的四倍。
    表     概率
    T1     0.8
    T2     0.2
表3:说明性实例:表概率
T1和T2的条目的概率如表4中给定。在此实例中,解码器快速存储器具有大小为S=2,仅能够容纳四个可能条目中的两个。此外,快速存储器存取成本cf=1且cs=K,其中K>1。
    表     条件概率     无条件概率
    e1 T1     0.95     0.76
    e2 T1     0.05     0.04
    e1 T2     0.90     0.18
    e2 T2     0.10     0.02
表4:说明性实例:T1和T2的条目概率
将完整的“最可能”表T1存储在快速存储器中的方法获得平均成本Cref,由下式给定:
Cref=1×(0.76+0.04)+K×(0.18+0.02)=0.8+K×0.2。
实施上文提供的分类算法时,平均成本是:
Csort=1×(0.76+0.18)+K×(0.04+0.02)=0.94+K×0.06,从而产生改进:
Crer-Csort=(0.18-0.04)×(K-1),
其严格为正。
如此实例所示,本发明的实施例可提供优化的系统效率,因为解码表的最可能的条目可定位在快速存储器中,而最不可能的条目存储在最慢存储器中,从而实现最小的总计系统成本。此外,实例说明可获得优于其它方法的改进。举例来说,将全部的表以表概率的减小次序载入快速存储器中常常是次优化的,因为在无条件意义下,较可能的表中的一些条目可能比较不可能的表中的一些条目具有更低的出现概率。
在某些实施例中,提供单个大表,其将不能配合到可用的解码器快速存储器16中。在这些实施例中,可通过选择较频繁出现的条目或条目群组以便存储到快速存储器16中,来优化个别要素以便存储在可用的快速存储器16中。当可用的快速存储器16已填满时,可将剩余的表条目或条目群组分配到一个或多个较慢存储器18和19。
在某些实施例中,提供一个或一个以上VLC表以便解码位流,其中所述一个或一个以上VLC表的要素与出现概率相关联。在这些实施例中的一些实施例中,根据这些概率对要素进行分类,其中每一概率指示相关联的要素在位流中出现的频率。在这些实施例中的许多实施例中,基于概率将要素的若干部分分配到较快和较慢的存储装置。在这些实施例中的一些实施例中,将具有较高概率的要素分配到较快的存储器。在这些实施例中的一些实施例中,基于与存储装置的使用相关联的成本来分配各部分,其中所述成本指示存取存储在选定存储器中的数据所需的处理时间。在这些实施例中的一些实施例中,分配各部分以使系统成本的总计测量值最小化,所述测量值包括每一要素的概率和与其相关联存储器的成本的乘积的总和。在这些实施例中的一些实施例中,分配包括交换第一要素与第二要素,其中第一要素初始位于快速存储器中且第二要素初始位于低速存储器中,且其中第一要素比第二要素具有更小的相关联的无条件概率。在这些实施例中的一些实施例中,快速存储器包括静态RAM和与处理器一起设置的存储器。在这些实施例中的一些实施例中,低速存储器包括动态存储器。
简要概括来说,本发明已揭示以下内容:
概念1一种用于优化存储的方法,其包含以下步骤:
确定一个或一个以上表的若干部分的出现概率;
在多个存储装置之间分配所述部分,每一存储装置具有相关联的成本,其中将具有最高概率的部分分配给具有最低成本的可用存储装置。
概念2根据概念1所述的方法,其中所述多个存储装置包括存储器装置,且所述相关联的成本与所述存储器装置的存取时间有关。
概念3根据概念1所述的方法,其中所述一个或一个以上表包括至少一组可变长度译码(VLC)表,且每一部分均为VLC表。
概念4根据概念3所述的方法,且进一步包含以下步骤:
使出现概率与所述VLC表的每一要素相关联;和
将较低成本存储装置中的较低概率要素与较高成本存储装置中的较高概率要素交换。
概念5根据概念4所述的方法,其中重复执行所述交换步骤以获得期望的系统成本。
概念6根据概念5所述的方法,其中通过计算每一要素的概率与其相关联存储装置的成本的乘积的总和来测量期望的系统成本。
概念7根据概念3所述的方法,其中每组VLC表均用于对使用多种编码方案之一编码的位流进行解码。
概念8根据概念7所述的方法,其中所述多种编码方案包括高级音频编码(AAC)、MPEG-3、MPEG-4、JPEG、JPEG-2000和H.264。
概念9根据概念3所述的方法,其中由编码系统预先确定所述组VLC表的概率。
概念10根据概念3所述的方法,其中基于在位流解码期间的使用来更新所述组VLC表的概率。
概念11根据概念3所述的方法,其中通过对所述VLC表的分析而获得所述概率。
概念12一种用于维持解码表的系统,其包含:
多个存储区,每一存储区具有相关联的成本;
具有多个要素的一个或一个以上表,其中每一要素具有相应的出现概率;和
分类器,其适合于用所述一个或一个以上表的要素填充所述多个存储区中的某些存储区,其中用具有最高概率的要素填充具有最低成本的存储区。
概念13根据概念12所述的方法,其中与每一存储区相关联的成本包括对用于从所述每一存储区检索数据的存取时间的测量值。
概念14根据概念13所述的方法,其中所述分类器进一步适合于初始用具有最高总计概率的表填充具有最低存取时间的存储区。
概念15根据概念14所述的方法,其中所述分类器进一步适合于将初始存储在较低成本存储区中的较低概率要素与初始存储在较高成本存储区中的较高概率要素交换。
概念16根据概念12所述的方法,其中所述分类器包含经配置以执行分类算法的处理器。
概念17根据概念12所述的方法,其中所述多个存储区中的每一者均包含一个或一个以上存储器装置。
概念18根据概念12所述的方法,其中与每一存储区相关联的成本包括对与存储容量耗尽相关联的系统性能降级的测量值。
广义上,本发明至少揭示用于优化可变长度解码系统中的系统性能的系统和方法。描述的实施例中分析解码表并通过出现概率对表的要素进行分类。可通过出现概率来确定要素的存储,且本发明的实施例可通过将最可能的条目存储到快速存储器中并将最不可能的条目存储在最慢存储器中来优化系统效率。在一些实施例中,可通过将较频繁出现的条目或条目群组选择到解码器存储器中来优化个别要素,以便存储在快速存储器中。
可见,在不脱离本发明的范围的情况下可以许多方式改变上述实施例。此外,特定实施例的各个方面可含有专利性标的物,而不考虑同一实施例的其它方面。另外,不同实施例的各个方面可组合在一起。而且,所属领域的技术人员将了解,可在上文图表中说明的组件的数目和排列中作出变化。希望所附权利要求书包括这些改变和修改。

Claims (7)

1.一种用于维持解码表的系统,其包含:
多个存储区,每一存储区具有相关联的成本;
具有多个要素的一个或一个以上表,其中每一要素具有相应的出现概率;和分类器,其适合于用所述一个或一个以上表的要素填充所述多个存储区中的某些存储区,其中用具有最高概率的要素填充具有最低成本的存储区。
2.根据权利要求1所述的系统,其中所述与每一存储区相关联的成本包括对用于从所述每一存储区检索数据的存取时间的测量值。
3.根据权利要求2所述的系统,其中所述分类器进一步适合于用具有最高总计概率的表初始填充具有最低存取时间的存储区。
4.根据权利要求3所述的系统,其中所述分类器进一步适合于将初始存储在较低成本存储区中的较低概率要素与初始存储在较高成本存储区中的较高概率要素交换。
5.根据权利要求1所述的系统,其中所述分类器包含经配置以执行分类算法的处理器。
6.根据权利要求1所述的系统,其中所述多个存储区中的每一者均包含一个或一个以上存储器装置。
7.根据权利要求1所述的系统,其中所述与每一存储区相关联的成本包括对与存储容量耗尽相关联的系统性能降级的测量值。
CN200710107036XA 2006-05-19 2007-05-17 用于维持解码表的系统 Active CN101106377B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/437,206 2006-05-19
US11/437,206 US7324026B2 (en) 2006-05-19 2006-05-19 Optimization of decoder memory usage for VLC tables

Publications (2)

Publication Number Publication Date
CN101106377A true CN101106377A (zh) 2008-01-16
CN101106377B CN101106377B (zh) 2012-10-10

Family

ID=38711483

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200710107036XA Active CN101106377B (zh) 2006-05-19 2007-05-17 用于维持解码表的系统

Country Status (4)

Country Link
US (2) US7324026B2 (zh)
KR (2) KR100944847B1 (zh)
CN (1) CN101106377B (zh)
TW (1) TWI348096B (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8599841B1 (en) 2006-03-28 2013-12-03 Nvidia Corporation Multi-format bitstream decoding engine
US8593469B2 (en) * 2006-03-29 2013-11-26 Nvidia Corporation Method and circuit for efficient caching of reference video data
US7324026B2 (en) * 2006-05-19 2008-01-29 Nvidia Corporation Optimization of decoder memory usage for VLC tables
US7884742B2 (en) * 2006-06-08 2011-02-08 Nvidia Corporation System and method for efficient compression of digital data
US8726125B1 (en) 2007-06-06 2014-05-13 Nvidia Corporation Reducing interpolation error
US8725504B1 (en) 2007-06-06 2014-05-13 Nvidia Corporation Inverse quantization in audio decoding
US8477852B2 (en) * 2007-06-20 2013-07-02 Nvidia Corporation Uniform video decoding and display
US8502709B2 (en) * 2007-09-17 2013-08-06 Nvidia Corporation Decoding variable length codes in media applications
US8849051B2 (en) * 2007-09-17 2014-09-30 Nvidia Corporation Decoding variable length codes in JPEG applications
US8704834B2 (en) * 2007-12-03 2014-04-22 Nvidia Corporation Synchronization of video input data streams and video output data streams
US8934539B2 (en) 2007-12-03 2015-01-13 Nvidia Corporation Vector processor acceleration for media quantization
US8687875B2 (en) * 2007-12-03 2014-04-01 Nvidia Corporation Comparator based acceleration for media quantization
US9307267B2 (en) 2008-12-11 2016-04-05 Nvidia Corporation Techniques for scalable dynamic data encoding and decoding
US20110158310A1 (en) * 2009-12-30 2011-06-30 Nvidia Corporation Decoding data using lookup tables
TWI420830B (zh) * 2010-12-31 2013-12-21 Ind Tech Res Inst 動態解碼查詢表之產生方法與應用其之電子裝置
US9386326B2 (en) 2012-10-05 2016-07-05 Nvidia Corporation Video decoding error concealment techniques
KR20150019268A (ko) * 2013-08-13 2015-02-25 에스케이하이닉스 주식회사 데이터 입출력 장치 및 이를 포함하는 시스템
CN103533360B (zh) * 2013-10-19 2016-06-08 山东大学 一种avs编码芯片中优化码表存储的方法
CN110784261B (zh) * 2019-11-07 2021-05-25 华东计算技术研究所(中国电子科技集团公司第三十二研究所) 基于编码的无闪烁可见光通信方法及系统

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440344A (en) 1992-04-28 1995-08-08 Mitsubishi Denki Kabushiki Kaisha Video encoder using adjacent pixel difference for quantizer control
KR0134166B1 (ko) 1992-11-24 1998-04-22 모리시타 요이찌 영상신호기록장치
EP0717554B1 (en) * 1994-12-16 2001-06-06 Canon Kabushiki Kaisha Coding/decoding apparatus and coding/decoding method
US6047357A (en) * 1995-01-27 2000-04-04 Digital Equipment Corporation High speed method for maintaining cache coherency in a multi-level, set associative cache hierarchy
US6041403A (en) 1996-09-27 2000-03-21 Intel Corporation Method and apparatus for generating a microinstruction responsive to the specification of an operand, in addition to a microinstruction based on the opcode, of a macroinstruction
KR100238888B1 (ko) * 1997-09-26 2000-01-15 전주범 적응적인 형태 부호화 장치 및 그 부호화 방법
US5990812A (en) 1997-10-27 1999-11-23 Philips Electronics North America Corporation Universally programmable variable length decoder
US6008745A (en) 1998-02-17 1999-12-28 Sun Microsystems, Inc. Variable length decoding using lookup tables
KR20010083063A (ko) 1998-06-25 2001-08-31 벤자민 에프 커틀러 가변 길이 코딩 및 디코딩 처리 회로, 및 그 방법
US6535642B1 (en) * 1999-07-13 2003-03-18 Microsoft Corporation Approximate string matching system and process for lossless data compression
US20010030615A1 (en) * 2000-03-03 2001-10-18 Minhua Zhou Variable length decoding system and method
US6560690B2 (en) * 2000-12-29 2003-05-06 Intel Corporation System and method for employing a global bit for page sharing in a linear-addressed cache
US6543023B2 (en) 2001-02-05 2003-04-01 Agere Systems Inc. Parity-check coding for efficient processing of decoder error events in data storage, communication and other systems
CN1301014C (zh) 2001-11-22 2007-02-14 松下电器产业株式会社 可变长度编码方法以及可变长度解码方法
US6650996B1 (en) 2001-12-20 2003-11-18 Garmin Ltd. System and method for compressing data
KR100556340B1 (ko) * 2004-01-13 2006-03-03 (주)씨앤에스 테크놀로지 영상 부호화 장치
KR100624432B1 (ko) * 2004-08-05 2006-09-19 삼성전자주식회사 내용 기반 적응적 이진 산술 복호화 방법 및 장치
US7132963B2 (en) 2004-09-13 2006-11-07 Ati Technologies Inc. Methods and apparatus for processing variable length coded data
JP2006092154A (ja) * 2004-09-22 2006-04-06 Hitachi Ltd ストレージシステム及びストレージ制御方法
US7324026B2 (en) * 2006-05-19 2008-01-29 Nvidia Corporation Optimization of decoder memory usage for VLC tables
US8112755B2 (en) * 2006-06-30 2012-02-07 Microsoft Corporation Reducing latencies in computing systems using probabilistic and/or decision-theoretic reasoning under scarce memory resources
TWI336567B (en) * 2007-03-07 2011-01-21 Ind Tech Res Inst A variable length decoder and decoding method therefor

Also Published As

Publication number Publication date
KR100944847B1 (ko) 2010-03-04
KR20090122164A (ko) 2009-11-26
CN101106377B (zh) 2012-10-10
US7324026B2 (en) 2008-01-29
US7605725B2 (en) 2009-10-20
US20080204287A1 (en) 2008-08-28
TWI348096B (en) 2011-09-01
US20070268166A1 (en) 2007-11-22
TW200815980A (en) 2008-04-01
KR20070112070A (ko) 2007-11-22

Similar Documents

Publication Publication Date Title
CN101106377A (zh) 用于优化存储的方法和系统
JP6990730B2 (ja) エントロピー符号化および復号化スキーム
US7372378B2 (en) Efficient decoding of n-tuple variable bit length symbols
US7304590B2 (en) Arithmetic decoding apparatus and method
US20140241630A1 (en) Indexed Color History In Image Coding
US8094048B2 (en) Method of decoding syntax element in context-based adaptive binary arithmetic coding decoder and decoding device therefor
KR102051015B1 (ko) 산술 인코딩 또는 산술 디코딩 방법 및 장치
US8576100B2 (en) Parallel entropy encoder and parallel entropy decoder
US11017786B2 (en) Vector quantizer
US7148821B2 (en) System and method for partition and pattern-match decoding of variable length codes
CN100370828C (zh) 用于将参数值映像到码字索引的自适应方法和系统
US7764205B2 (en) Decompressing dynamic huffman coded bit streams
CN102523455B (zh) 基于jpeg2000标准的多线程算术编码电路和方法
US20240028510A1 (en) Systems, methods and devices for exploiting value similarity in computer memories
Lee et al. Low latency variable length coding scheme for frame memory recompression
WO2011162964A2 (en) System and method and computer program product for parameter estimation for lossless video compression
US10602178B1 (en) Systems and methods for frame context selection
CN101873499B (zh) 用于改进的多媒体解码器的方法和设备
KR20110052427A (ko) 구문 요소에 대하여 적응적으로 코드워드를 할당하는 영상 부호화/복호화 방법 및 그 장치
US20160320983A1 (en) Controller for nonvolatile semiconductor memory
US20240004549A1 (en) Memory system
US20230081961A1 (en) Compression circuit, storage system, and compression method
CN101771420A (zh) 解码器中rom的设计方法和解码器
WO2017037502A1 (en) Compression code and method by location
Zheng et al. Term frequency quantization for compressing an inverted index

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