CN103312338B - 用于解码的设备和方法 - Google Patents

用于解码的设备和方法 Download PDF

Info

Publication number
CN103312338B
CN103312338B CN201310063292.9A CN201310063292A CN103312338B CN 103312338 B CN103312338 B CN 103312338B CN 201310063292 A CN201310063292 A CN 201310063292A CN 103312338 B CN103312338 B CN 103312338B
Authority
CN
China
Prior art keywords
code
suffix
prefix
symbol
lengths
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.)
Active
Application number
CN201310063292.9A
Other languages
English (en)
Other versions
CN103312338A (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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of CN103312338A publication Critical patent/CN103312338A/zh
Application granted granted Critical
Publication of CN103312338B publication Critical patent/CN103312338B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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
    • 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
    • H03M7/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • 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/4031Fixed length to variable length coding
    • H03M7/4037Prefix coding
    • H03M7/4043Adaptive prefix coding
    • H03M7/4062Coding table adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/91Entropy coding, e.g. variable length coding [VLC] or arithmetic coding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

提供一种用于解码的设备和方法。所述解码设备和方法存储至少一个表,其中,所述表包括至少一个码,接收至少一个指令信号,并基于所述至少一个指令信号从所述至少一个表提取符号值和符号长度。所述解码设备计算使产生的表的大小最小化并使所述至少一个码的非前缀长度的大小最小化的目标后缀长度。

Description

用于解码的设备和方法
本申请要求于2012年3月5日提交到韩国知识产权局的第10-2012-0022338号韩国专利申请的利益,该申请的公开通过引用合并于此。
技术领域
以下公开的示例实施例涉及一种可编程的霍夫曼解码设备和方法。
背景技术
霍夫曼编码是无损压缩方法的示例。
发展至今的视频和音频标准通常使用霍夫曼无损压缩方法。
霍夫曼压缩方法估计定义的符号的概率值,并从估计的概率值产生霍夫曼树,由此创建包括数字值0和1的比特串。
在解码期间,霍夫曼压缩方法通过比较每个比特串与先前产生的霍夫曼表来提取原始符号。
根据霍夫曼压缩方法的上述典型特征,可通过逐个检查比特串来找到匹配的符号。
根据霍夫曼压缩方法,由于符号的概率特征取决于应用而显著地不同,因此不同的应用具有不同的霍夫曼表。
针对作为典型视频标准的运动图像专家组(MPEG),MPEG2和MPEG4,定义彼此不同的霍夫曼表。
因此,通常通过软件来实施霍夫曼压缩方法。
然而,当使用软件时,需要比较每个比特串与表值,由此显著增加将要执行的计算量。在此情况下,预定比特串可被存储在存储器中并被按组处理。
然而,按组处理需要以组为单位的比较计算。此外,由于存储霍夫曼表,所以大容量存储器是必要的。
因此,尽管已经开发了用于高速处理的硬件,但是当应用被改变并且每个霍夫曼表被专门用于特定应用时,所述硬件是不适用的。
发明内容
前述和/或其他方面通过提供一种解码设备来实现,其中,所述解码设备包括:表存储单元,用于存储至少一个表,其中,所述表包括至少一个码;接收单元,用于接收至少一个指令信号;符号提取单元,用于基于所述至少一个指令从所述至少一个表提取符号值和符号长度。
所述至少一个指令信号可包括:表配置控制信号、霍夫曼前缀控制信号、霍夫曼后缀控制信号和霍夫曼符号解码控制信号。
解码设备可还包括表产生单元,用于产生所述至少一个表。
表产生单元可包括:排列单元,用于按照降序或升序排列所述至少一个码;码分离单元,用于将所述至少一个码中的每个码的后缀和前缀分别彼此分离,使得后缀对应于目标后缀长度;组结合单元,用于根据每个前缀来结合后缀组,使得所述至少一个表的大小被最小化。
解码设备可还包括比特计算单元,用于计算使表的大小最小化的目标后缀长度。
比特计算单元可包括:后缀设置单元,用于将目标后缀长度设置为最小值;检测单元,用于检测没有包括在所述至少一个表中的码之中的具有最大长度的码;计算单元,用于计算所述至少一个表中的每个表的大小;第一比较单元,用于比较先前表大小与当前表大小;第二比较单元,用于比较当前后缀长度是否对应于最大后缀长度。
当先前表大小大于当前表大小时,后缀设置单元可将目标后缀长度设置为当前后缀长度。
在当前后缀长度小于最大后缀长度时,后缀设置单元可增加所述当前后缀长度,并且每个模块重复上述操作。
解码设备可还包括:表配置存储单元,用于存储与所述至少一个表中的每个表有关的数据;前缀存储单元,用于存储基于所述至少一个表中的每个表产生的至少一个前缀;映射表存储单元,用于存储与所述至少一个码有关的符号数据。
表配置存储单元可存储数据,其中,所述数据包括:与在所述至少一个表中的每个表的映射表上的第一地址对应的偏移地址、所述至少一个码中的每个码的后缀长度和非前缀长度、用于将至少两个表映射到一个表的组装比特(packing bit)长度。
前缀存储单元可存储与所述至少一个前缀中的每个前缀的起始比特对应的标志。
映射表存储单元可存储数据,其中,所述数据包括:与所述至少一个码中的每个码对应的符号值、所述至少一个码中的每个码的后缀长度、用于确认在所述至少一个码之中存在映射的码的命中标志(hit_flag)。
符号提取单元可从表配置存储单元和前缀存储单元加载与表号对应的参数,并从基于所述参数提取的前缀计算映射表的地址,由此提取符号值和符号长度。
前述和/或其他方面通过提供一种解码方法来实现,其中,所述解码方法包括:存储至少一个表,其中,所述表包括至少一个码;接收至少一个指令信号;基于所述至少一个指令信号从所述至少一个表提取符号值和符号长度。
示例实施例的另外的方面、特征和/或优点将在以下的描述中部分地进行阐述,并将部分地通过所述描述而清楚,或通过本公开的实践被了解。
附图说明
从以下结合附图对示例实施例的描述,这些和/或其他方面和优点将变得清楚和更易于理解,其中:
图1示出根据示例实施例的解码设备的结构;
图2示出根据示例实施例的输入到解码设备的示例指令;
图3示出根据示例实施例的解码方法;
图4示出根据示例实施例的表;
图5A至图5D示出根据示例实施例的表结构的示例;
图6示出根据示例实施例的根据前缀和后缀的示例表结构;
图7示出根据示例实施例的比特计算单元的结构;
图8示出根据示例实施例的提取目标后缀比特长度的方法;
图9示出根据示例实施例的解码设备的电路结构;
图10示出存储在图9中示出的表配置存储单元中的数据;
图11示出存储在图9中示出的前缀存储单元中的数据;
图12示出存储在图9中示出的映射表存储单元中的数据。
具体实施方式
现在将详细参考示例实施例,其示例在附图中示出,其中,相同的参考标号始终指示相同的元件。下面通过参照附图描述示例实施例以解释本公开。
在本发明的描述中,如果确定有关公开的技术或配置的详细描述不必要地使本发明的主题模糊,则所述有关公开的技术或配置的详细描述将被省略。下面要使用的术语基于它们在本发明中的功能被公开并被利用,并且可根据用户、用户的意图或实践而改变。因此,应该基于整个说明书来确定术语的含义。
图1示出根据示例实施例的解码设备的结构。
参照图1,解码设备可包括:表存储单元110,用于存储均包括至少一个码的至少一个表;接收单元120,用于接收至少一个指令信号;符号提取单元130,用于基于所述至少一个指令信号从所述至少一个表提取符号值和符号长度。
图2示出根据示例实施例的输入到解码设备的示例指令。
参照图2,根据示例实施例的解码设备可定义多个指令信号,用于实现霍夫曼解码的编程。
根据一方面,指令解码器210可接收指令信号并将所述指令信号以操作码的形式发送至复用器(MUX)220。MUX220可将所述操作码复用到至少一个指令信号中,并将所述至少一个指令信号发送至实际处理数据的霍夫曼解码器230,由此提取所述至少一个码的符号值和符号长度。
根据示例实施例,所述至少一个指令信号可包括表配置控制信号、霍夫曼前缀控制信号、霍夫曼后缀控制信号和霍夫曼符号解码控制信号等中的一个或多个。
以下,将描述使用图1的解码设备的解码方法。
图3示出根据示例实施例的解码方法。
参照图3,在操作310,解码设备可存储均包括至少一个码的至少一个表。
在操作320,解码设备可接收至少一个指令信号。
在操作330,解码设备可基于所述至少一个指令信号从所述至少一个表提取符号值和符号长度。
以下,将描述根据示例实施例的表产生方法。
根据示例实施例的解码设备可使用表产生单元140产生所述至少一个表。
表产生单元140可使用排列单元141按照降序或升序排列所述至少一个码。
表产生单元140可使用码分离单元142将所述至少一个码中的每个码的后缀和前缀分别彼此分离,使得所述后缀对应于目标后缀长度。
表产生单元140可使用组结合单元143根据每个前缀来结合后缀组,使得所述至少一个表的大小被最小化。
图4示出根据示例实施例的表。图5A至图5D示出根据示例实施例的表结构的示例。
例如,表产生单元140可对如图4所示的在H.264/AVC中使用的霍夫曼表中的total_zero进行编码。例如,total_zero可指示在最后的非零系数之前的零的数量。此外,当如图5A所示,TotalCoeff为3时,表产生单元140可按下面的方式产生关于霍夫曼编码的表。例如,TotalCoeff可指示非零系数的总数量。
例如,如图5B所示,表产生单元140可按照降序排列至少一个码。
如图5C所示,表产生单元140可分离前缀以使得后缀对应于3比特(即,目标后缀长度),使得所述至少一个码具有相对于最长码的相同前缀。
如图5D所示,表产生单元140可从除一组具有前缀“000”的码之外的剩余码分离下一个前缀以使得后缀对应于3比特,其中,所述3比特是相对于具有最大长度的码的目标后缀长度。
表产生单元140可产生前缀“0”和“000”的前缀组。所述前缀中的每个前缀可通过后缀组来表示。
图6示出根据示例实施例的根据前缀和后缀的示例表结构。
当可从预定比特流找到前缀时,根据示例实施例的解码设备可产生并存储如图6所示的表,使得仅通过加载预定后缀来提取结果。
尽管所述示例示出产生目标后缀长度为3比特的表的处理,但是根据示例实施例的解码设备可提取使表大小最小化的目标后缀长度。
解码设备可使用比特计算单元150计算使表大小最小化的目标后缀长度。
图7示出根据示例实施例的比特计算单元的结构。图8示出根据示例实施例的提取目标后缀长度的方法。
参照图7和图8,在操作810,比特计算单元可按照降序或升序排列至少一个码。
在操作820,比特计算单元可使用后缀设置单元710将目标后缀长度设置为最小值。
例如,后缀设置单元可将目标后缀长度初始设置为二进制值1,其中,二进制值1为最小单位长度。
在操作830,比特计算单元可使用检测单元720从没有包括在表中的码中检测具有最大长度的码。
在操作840,比特计算单元可使用计算单元730计算所述至少一个表中的每个表的大小。
在操作850,比特计算单元可使用第一比较单元740比较先前表大小与当前表大小。
当先前表大小大于当前表大小时,在操作860,后缀设置单元可将目标后缀长度设置为当前后缀长度。
在操作870,比特计算单元可使用第二比较单元750比较当前后缀长度是否对应于最大后缀长度。
在当前后缀长度小于最大后缀长度时,后缀设置单元可在操作880增加所述当前后缀长度并重复上述操作。
假设前缀长度是m比特,非前缀长度是n比特,并且前缀的数量为c,则可使用等式1计算表大小。
[等式1]
表大小=2n+c×2m
解码设备可通过将各个前述操作中的每个操作重复与码的最大长度一样多次,以通过计算使表大小和非前缀长度最小化的目标后缀长度来执行表映射。
以下,将描述根据示例实施例的基于解码设备的电路结构的解码方法。
图9示出根据示例实施例的解码设备的电路结构。
参照图9,解码设备可包括:表配置存储单元910,存储与每个表有关的数据;前缀存储单元920,用于存储基于每个表产生的至少一个前缀;映射表存储单元930,用于存储与至少一个码有关的符号数据。
图10示出存储在图9的表配置存储单元910中的数据。
参照图10,表配置存储单元910可存储与在每个表的映射表上的第一地址对应的偏移地址、每个码的后缀长度和非前缀长度、用于将至少两个表映射到一个表的组装比特长度。
图11示出存储在图9的前缀存储单元920中的数据。
参照图11,前缀存储单元920可存储与每个前缀的起始比特对应的标志。
例如,前缀存储单元920可在每个前缀值前设置作为一比特值的“1”。所述一比特值“1”可表示指示前缀的起始比特的标志。
解码设备可通过所述标志来比较并提取前缀值。
图12示出存储在图9的映射表存储单元930中的数据。
参照图12,映射表存储单元930可存储数据,其中,所述数据包括:与每个码对应的符号值、每一个码的后缀长度、用于确认在至少一个码之中存在映射的码的命中标志。
例如,符号值可对应于霍夫曼码。后缀长度可表示实际的霍夫曼码的后缀长度。
存储在映射表存储单元930中的数据可对处理诸如图5B中示出的“00011”码有用。
例如,图5B中示出的前缀和后缀两者都是3比特,前缀和后缀可被映射到两个码“000110”和“000111”。
然而,由于所述码实际上是2比特,所以映射表需要包括上述数据。
命中标志被用于处理转义码。当在所述至少一个码之中没有映射的码的存在时,可处理转义码。由于转义码不遵守通常的霍夫曼编码,所以转义码可被单独处理。
当转义码存在时,根据示例实施例的解码设备可存储用于确认映射表是否包括转义码的命中标志。
例如,解码设备可按下面的方式设置关于每个指令信号存储的值。
根据一方面,在表配置存储单元910中的非前缀的长度和后缀的长度可都是3。由于关于表的前缀是“0”或“000”,所以前缀存储单元920可存储“10”和“1000”。映射表存储单元930的符号值和后缀长度可对应于图6中示出的total_zero和后缀长度。
根据示例实施例的符号提取单元可通过从表配置存储单元910和前缀存储单元920加载与表号对应的参数并从基于所述参数提取的前缀计算映射表的地址来提取符号值和符号长度。
根据示例实施例,可实现高速霍夫曼解码。此外,通过使表大小最小化可减少需要的存储空间,并减少解码器为了产生表所需的时间,提高解码速度。
另外,所述示例实施例可被应用到各种使用霍夫曼编码的应用。例如,根据上述示例实施例的用于解码的设备和方法可被用于视频或音频解码(诸如用于解码根据H.264/AVC的高分辨率视频比特流),或可被用于解码代表其他信息(诸如文本信息)的比特流。
根据上述示例实施例的用于解码的设备和方法可使用一个或多个处理器,其中,所述处理器可包括微处理器、中央处理单元(CPU)、数字信号处理器(DSP)或专用集成电路(ASIC),以及这些和其他处理装置的部分或组合。
这里使用的术语“模块”和“单元”可指示但不限于执行特定任务的软件或硬件部件或装置,诸如现场可编程门阵列(FPGA)或专用集成电路(ASIC)。模块或单元可被配置为驻留在可寻址的存储介质上,并被配置为在一个或多个处理器上执行。因此,作为示例,模块或单元可包括:部件(诸如软件部件、面向对象的软件部件、类部件和任务部件)、进程、函数、属性、过程、子程序、程序代码的片段、驱动程序、固件、微代码、电路、数据、数据库、数据结构、表、数组和变量。在部件和模块/单元中提供的功能可被组合成更少的部件和模块/单元,或进一步分离成另外的部件和模块。
根据上述的示例实施例的所述方法可被记录在包括用于实施由计算机执行的各种操作的程序指令的非瞬时性计算机可读介质中。所述介质还可单独包括数据文件、数据结构等,或可包括与所述程序指令相结合的数据文件、数据结构等。记录在介质上的程序指令可以是为了示例实施例的目的而专门设计和构建的程序指令,或它们可以是对于计算机软件领域中的技术人员公知且可用的程序指令。非瞬时性计算机可读介质的示例包括:磁介质(诸如硬盘、软盘和磁带)、光学介质(诸如CD ROM盘和DVD)、磁光介质(诸如光盘)、被专门配置为存储和执行程序指令的硬件装置(诸如只读存储器(ROM)、随机存取存储器(RAM)、闪存等)。所述介质可以是传输介质,诸如用于传输指定程序指令和数据结构的信号的光学线缆、金属线缆或包括载波的波导。程序指令的示例包括机器代码(诸如由编译器产生)以及包括可由计算机使用解释器执行的更高级代码的文件两者。为了执行上述示例实施例的操作,所描述的硬件装置可被配置为充当一个或多个软件模块,反之亦然。
流程图的每个块可表示单元、模块、片段或部分代码,其中,所述单元、模块、片段或部分代码包括用于实施指定逻辑功能的一个或多个可执行指令。还应注意在一些备选实施中,在所述块中注释的功能可不按顺序发生。例如,连续示出的两个块实际上可基本同时被执行,或者所述块有时可按相反顺序被执行,这取决于涉及的功能性。
尽管示例实施例已经被示出并被描述,但是本领域的技术人员将认识到:在没有脱离本公开的原理和精神的情况下,可在这些示例实施例中进行改变,其中,本公开的范围在权利要求及其等同物中被限定。

Claims (14)

1.一种解码设备,包括:
表存储单元,用于存储至少一个表,其中,所述表包括至少一个码;
接收单元,用于接收至少一个指令信号;
符号提取单元,用于基于所述至少一个指令信号从所述至少一个表提取符号值和符号长度;
比特计算单元,用于计算使表的大小最小化的目标后缀长度;
表产生单元,用于产生所述至少一个表,
其中,表产生单元包括:
排列单元,用于按照降序或升序排列所述至少一个码;
码分离单元,用于分别将所述至少一个码中的每个码的后缀和前缀彼此分离,使得后缀对应于目标后缀长度;
组结合单元,用于根据每个前缀来结合后缀组,使得所述至少一个表的大小被最小化。
2.如权利要求1所述的解码设备,其中,所述至少一个指令信号包括:表配置控制信号、霍夫曼前缀控制信号、霍夫曼后缀控制信号和霍夫曼符号解码控制信号。
3.如权利要求1所述的解码设备,其中,比特计算单元包括:
后缀设置单元,用于将目标后缀长度设置为最小值;
检测单元,用于检测没有包括在所述至少一个表中的码之中的具有最大长度的码;
计算单元,用于计算所述至少一个表中的每个表的大小;
第一比较单元,用于比较先前表大小与当前表大小;
第二比较单元,用于比较当前后缀长度是否对应于最大后缀长度。
4.如权利要求3所述的解码设备,其中,当先前表大小大于当前表大小时,后缀设置单元将目标后缀长度设置为当前后缀长度。
5.如权利要求1所述的解码设备,还包括:
表配置存储单元,用于存储与所述至少一个表中的每个表有关的数据;
前缀存储单元,用于存储基于所述至少一个表中的每个表产生的至少一个前缀;
映射表存储单元,用于存储与所述至少一个码有关的符号数据。
6.如权利要求5所述的解码设备,其中,前缀存储单元存储与所述至少一个前缀中的每个前缀的起始比特对应的标志。
7.如权利要求5所述的解码设备,其中,映射表存储单元存储数据,其中,所述数据包括:
与所述至少一个码中的每个码对应的符号值;
所述至少一个码中的每个码的后缀长度;
用于确认所述至少一个码之中存在映射的码的命中标志。
8.如权利要求5所述的解码设备,其中,符号提取单元从表配置存储单元和前缀存储单元加载与表号对应的参数,并从基于所述参数提取的前缀计算映射表的地址,由此提取符号值和符号长度。
9.一种解码方法,包括:
存储至少一个表,其中,所述表包括至少一个码;
接收至少一个指令信号;
基于所述至少一个指令信号从所述至少一个表提取符号值和符号长度,其中,所述至少一个表是通过以下操作来产生的:
计算使所述至少一个表的大小最小化的目标后缀长度;
按照降序或升序排列所述至少一个码;
分别将所述至少一个码中的每个码的后缀和前缀彼此分离,使得后缀对应于目标后缀长度;
根据每个前缀来结合后缀组,使得所述至少一个表的大小被最小化。
10.如权利要求9所述的解码方法,其中,所述至少一个指令信号包括:表配置控制信号、霍夫曼前缀控制信号、霍夫曼后缀控制信号和霍夫曼符号解码控制信号。
11.如权利要求9所述的解码方法,其中,计算目标后缀长度的步骤包括:
将目标后缀长度设置为最小值;
检测没有包括在所述至少一个表中的码之中的具有最大长度的码;
计算所述至少一个表中的每个表的大小;
比较先前表大小与当前表大小;
比较当前后缀长度是否对应于最大后缀长度。
12.如权利要求11所述的解码方法,其中,计算目标后缀长度的步骤还包括:当先前表大小大于当前表大小时,将目标后缀长度设置为当前后缀长度。
13.如权利要求9所述的解码方法,还包括:
存储与所述至少一个表中的每个表有关的数据;
存储基于所述至少一个表中的每个表产生的至少一个前缀;
存储与所述至少一个码有关的符号数据。
14.如权利要求13所述的解码方法,还包括:
加载与从所述至少一个表选择的表号对应的参数;
通过从基于所述参数提取的前缀计算映射表的地址来提取符号值和符号长度。
CN201310063292.9A 2012-03-05 2013-02-28 用于解码的设备和方法 Active CN103312338B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR10-2012-0022338 2012-03-05
KR1020120022338A KR101843087B1 (ko) 2012-03-05 2012-03-05 디코딩 장치 및 방법

Publications (2)

Publication Number Publication Date
CN103312338A CN103312338A (zh) 2013-09-18
CN103312338B true CN103312338B (zh) 2018-05-29

Family

ID=47845747

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310063292.9A Active CN103312338B (zh) 2012-03-05 2013-02-28 用于解码的设备和方法

Country Status (5)

Country Link
US (1) US8674857B2 (zh)
EP (1) EP2637407A1 (zh)
JP (1) JP6249608B2 (zh)
KR (1) KR101843087B1 (zh)
CN (1) CN103312338B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2521828A (en) 2013-12-23 2015-07-08 Sony Corp Data encoding and decoding
US11509328B2 (en) * 2018-05-31 2022-11-22 Microsoft Technology Licensing, Llc Computer data compression utilizing multiple symbol alphabets and dynamic binding of symbol alphabets
CN109299112B (zh) * 2018-11-15 2020-01-17 北京百度网讯科技有限公司 用于处理数据的方法和装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051845A (zh) * 2007-05-09 2007-10-10 上海广电(集团)有限公司中央研究院 一种快速提取比特流哈夫曼解码方法
CN101072034A (zh) * 2007-06-12 2007-11-14 华为技术有限公司 一种变长解码方法及其装置

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5253078A (en) 1990-03-14 1993-10-12 C-Cube Microsystems, Inc. System for compression and decompression of video data using discrete cosine transform and coding techniques
KR0171819B1 (ko) 1991-03-30 1999-03-20 강진구 비디오 신호 엔코딩 및 디코딩 회로
US5181031A (en) * 1991-07-30 1993-01-19 Lsi Logic Corporation Method and apparatus for decoding huffman codes by detecting a special class
JPH05152973A (ja) * 1991-11-28 1993-06-18 Fujitsu Ltd 可変長符号復号器
JPH06152988A (ja) * 1992-11-02 1994-05-31 Sharp Corp 可変長符号の復号化装置
KR950010425B1 (ko) * 1993-09-11 1995-09-16 국방과학연구소 코드분류에 의한 병렬처리 가변장 부호 복호기
US5604499A (en) * 1993-12-28 1997-02-18 Matsushita Electric Industrial Co., Ltd. Variable-length decoding apparatus
KR100194205B1 (ko) 1996-11-15 1999-06-15 윤종용 개선된 호프만 디코딩방법, 디코딩 타임 테이블 및 그 테이블 작성방법
US5825312A (en) * 1996-11-25 1998-10-20 Xerox Corporation DX JPEG Huffman decoder
US6570924B1 (en) 1998-11-20 2003-05-27 Interval Research Corp Low cost video compression using fast, modified Z-coding of wavelet pyramids
US7020327B2 (en) * 2000-05-09 2006-03-28 Colorzip Media, Inc. Machine readable code image and method of encoding and decoding the same
US6563440B1 (en) * 2001-10-19 2003-05-13 Nokia Corporation Apparatus and method for decoding Huffman codes using leading one/zero string length detection
JP2003309471A (ja) 2002-04-15 2003-10-31 Fujitsu Ltd 可変長符号データ復号装置および復号方法
JP4537089B2 (ja) * 2003-04-01 2010-09-01 キヤノン株式会社 可変長復号装置及び方法、並びにコンピュータプログラム及びコンピュータ可読記憶媒体
JP2008141278A (ja) * 2006-11-30 2008-06-19 Sanyo Electric Co Ltd 復号回路
US7642935B2 (en) 2008-04-07 2010-01-05 Mediatek Inc. Huffman decoding method and apparatus
TWI343192B (en) 2009-06-12 2011-06-01 Ind Tech Res Inst Decoding method
KR101030726B1 (ko) 2009-11-26 2011-04-26 명지대학교 산학협력단 확률적 테이블에 의해 생성된 심볼을 기반으로 호프만 테이블을 적용한 메모리 효율이 개선된 멀티미디어용 호프만 디코딩 방법 및 장치
GB201014347D0 (en) 2010-08-28 2010-10-13 Lu Mingying Huffman code table transform and parrallel Huffman decoding

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101051845A (zh) * 2007-05-09 2007-10-10 上海广电(集团)有限公司中央研究院 一种快速提取比特流哈夫曼解码方法
CN101072034A (zh) * 2007-06-12 2007-11-14 华为技术有限公司 一种变长解码方法及其装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Direct mapping architecture for JPEG Huffman decoder";Y.-W. Chang等;《IEE Proceedings-Communications》;20060619;第153卷(第3期);第334-339页,表1-4,图8 *

Also Published As

Publication number Publication date
JP2013187904A (ja) 2013-09-19
EP2637407A1 (en) 2013-09-11
US8674857B2 (en) 2014-03-18
JP6249608B2 (ja) 2017-12-20
KR101843087B1 (ko) 2018-03-28
US20130229292A1 (en) 2013-09-05
CN103312338A (zh) 2013-09-18
KR20130101305A (ko) 2013-09-13

Similar Documents

Publication Publication Date Title
KR100894002B1 (ko) 선택적 압축과 복원 및 압축 데이터에 대한 데이터 포맷을위한 장치 및 방법
US7652595B2 (en) Generating a data stream and identifying positions within a data stream
US10044370B1 (en) Lossless binary compression in a memory constrained environment
US7511639B2 (en) Data compression for communication between two or more components in a system
JP2009542092A (ja) データ圧縮の方法
US7375660B1 (en) Huffman decoding method
US20130019029A1 (en) Lossless compression of a predictive data stream having mixed data types
GB2493103A (en) Compressing copy pointers to a history buffer using variable length code tables
CN103312338B (zh) 用于解码的设备和方法
JP5656593B2 (ja) 符号化データを復号する装置及び方法
US8515882B2 (en) Efficient storage of individuals for optimization simulation
US10103747B1 (en) Lossless binary compression in a memory constrained environment
US8849051B2 (en) Decoding variable length codes in JPEG applications
WO2007108395A1 (ja) 可変長符号の復号装置および復号方法
US8018359B2 (en) Conversion of bit lengths into codes
US20080266147A1 (en) Variable length code decoding apparatus
US9787323B1 (en) Huffman tree decompression
US20140340246A1 (en) Efficient Processing of Huffman Encoded Data
US10447295B2 (en) Coding method, coding device, decoding method, and decoding device
Philip et al. LiBek II: A novel compression architecture using adaptive dictionary
Furht et al. Lossless JPEG image compression
CN117118455A (zh) 数据压缩方法及相关装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant