CN104301725A - A CAVLD Method Based on Index Search - Google Patents
A CAVLD Method Based on Index Search Download PDFInfo
- Publication number
- CN104301725A CN104301725A CN201410333153.8A CN201410333153A CN104301725A CN 104301725 A CN104301725 A CN 104301725A CN 201410333153 A CN201410333153 A CN 201410333153A CN 104301725 A CN104301725 A CN 104301725A
- Authority
- CN
- China
- Prior art keywords
- length
- code
- cavld
- codeword
- codon
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000012545 processing Methods 0.000 claims description 2
- 238000005516 engineering process Methods 0.000 abstract description 11
- 230000003044 adaptive effect Effects 0.000 abstract description 2
- 108020004705 Codon Proteins 0.000 abstract 7
- 238000012360 testing method Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 230000008569 process Effects 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
Landscapes
- Compression Or Coding Systems Of Tv Signals (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
Description
技术领域 technical field
本发明涉及一种基于索引查找CAVLD方法。 The invention relates to an index-based search CAVLD method. the
背景技术 Background technique
H.264/AVC是由ITU-VCEG(International Telecommunications Union Telecommunication)国际电信联盟视频编码专家组和ISO/IEC(International Organization for Standardization/International Electrotechnical Commission)国际标准组织、国际电工技术委员会共同制定的一种比较先进的关于视频压缩编码的国际标准。由于它具有高效率的编码压缩性能、友好网络的接口和在较小带宽上能提供高质量视频图像传输的特点,因而在移动视频通信和图像存储压缩等领域得到了广泛的应用,被普遍认为是最有影响力的行业标准。CAVLD(Adaptive Variable Length Decoding)是H.264/AVC标准中一种常见编码熵解码方式,由于它可以根据视频流的不同在多组结构不同的码表中进行动态的切换,进而实现大大提高视频编码效率和质量目的。然而,CAVLD在提高视频编码效率和质量同时,但因其频繁地查找VLTs(Variable Length Tables),因而消耗了视频解码器大量的功耗,所以说,H.264/AVC高性能的获得是以增加其解码器功耗为代价的。 H.264/AVC is jointly formulated by ITU-VCEG (International Telecommunications Union Telecommunication) Video Coding Expert Group, ISO/IEC (International Organization for Standardization/International Electrotechnical Commission) International Standardization Organization and International Electrotechnical Commission A relatively advanced international standard for video compression coding. Because of its high-efficiency coding and compression performance, friendly network interface, and the ability to provide high-quality video and image transmission on a small bandwidth, it has been widely used in the fields of mobile video communication and image storage compression. It is the most influential industry standard. CAVLD (Adaptive Variable Length Decoding) is a common encoding entropy decoding method in the H.264/AVC standard, because it can dynamically switch among multiple sets of code tables with different structures according to different video streams, thereby greatly improving video quality. Coding efficiency and quality purposes. However, while CAVLD improves the efficiency and quality of video coding, it consumes a lot of power consumption of the video decoder because of its frequent lookup of VLTs (Variable Length Tables). Therefore, the high performance of H.264/AVC is achieved by at the expense of increasing its decoder power consumption. the
众所周知,频繁进行表查找操作会消耗大量内存和查找时间,进而产生一个大的功耗消耗。然而在标准H.264/AVC中,CAVLD需要去解码五个语法元素:Coeff_token,T1s,Level,Run_before和Total_zeros。其中解码Coeff_token,Run_before和Total_zeros三个语法元素需要频繁查找可变长码表解码,因此CAVLD中码查找花费了H.264/AVC视频解码器大量内存和查找时间,进而消耗其大量的功耗。所以如何在CAVLD减少频繁的码表查找操作,进而去减少查找可变长码表时的内存消耗和时间,节约解码器的功耗,成为我们当前关注的一个重要问题。针对上述这个问题,已有一些学者开展了一些研究并提出了一些很有价值解决方案。 As we all know, frequent table lookup operations consume a lot of memory and lookup time, which in turn produces a large power consumption. However, in the standard H.264/AVC, CAVLD needs to decode five syntax elements: Coeff_token, T1s, Level, Run_before and Total_zeros. Among them, decoding the three syntax elements of Coeff_token, Run_before and Total_zeros needs to frequently search the variable-length code table for decoding, so the code search in CAVLD takes a lot of memory and search time of the H.264/AVC video decoder, which in turn consumes a lot of power consumption. Therefore, how to reduce frequent code table lookup operations in CAVLD, thereby reducing memory consumption and time when searching for variable-length code tables, and saving power consumption of the decoder has become an important issue we are currently concerned about. Aiming at the above problem, some scholars have carried out some research and put forward some valuable solutions. the
在硬件设计方面,宋娜等人提出使用Verilog HDL技术实现了CAVLD解码器,用简单的加法操作实现耗时的查表操作,提高了解码速度。Heng等人提出一种组合所有码表成一张码表,然后再利用子码表的形式进行组织和查找这张码表的方法;Lee等人提出一种利用流水线的结构实现常规操作方法;Wang 等人设计出一种低功耗高性能的新型解码器去提高CAVLD整体解码性能;Fang等人则提出利用CMOS和FPGA技术联合作用共同去提高CAVLD性能。在软件设计部分,一种基于二叉树表查找通用方法被提出去提高CAVLD查表时间性能,但由于它获取内存存在一些不确定性,导致这种方法在一些系统中并不是十分有效。李芬等人提出[14]根据码字前缀的不同划分码表,缩小了查表的范围,减少对整个码表的遍历实现减少长码字解码的时间。Moon等人提出利用整数算术运算符去实现Run_before和Total_zeros元素的码表查找方法,从而可大大减少CAVLC解码CAVLD查表时内存和时间的消耗;Lu等人提出一种新熵解码算法,可提高75.1%-82.7%解码时间。Lee等人则提出一种新的码表结构和新查表方法,以极大减少解码查表时内存消耗和提高解码查表速度。Kim等人提出利用基于整数算术运算符的方法实现了除了Coeff_token和Run_before元素外的其它元素表查找方法,从而大大节省查表内存消耗和减少查表时间。韩晶晶等人提出把CAVLD码表进行划分为区域,精确查表范围,再进行熵解码的查表过程优化方法。Uchihara等人针对CAVLD中level编码变动问题,提出了一种快速变动方法,此方法能够减少70%的CAVLD幅值变动消耗能量.针对软件CAVLD解码器结构,Uchihara等人又提出一种基于幅值长度提取方法,所提方法能够提高22%解码器速度。 In terms of hardware design, Song Na and others proposed to use Verilog HDL technology to realize the CAVLD decoder, and use simple addition operations to realize time-consuming table lookup operations and improve the decoding speed. Heng et al proposed a method to combine all code tables into a code table, and then use the form of sub-code tables to organize and search for this code table; Lee et al. proposed a method of utilizing the pipeline structure to realize conventional operations; Wang et al. designed a new type of decoder with low power consumption and high performance to improve the overall decoding performance of CAVLD; Fang et al proposed to use the combined effect of CMOS and FPGA technology to improve the performance of CAVLD. In the software design part, a general method based on binary tree table lookup is proposed to improve the time performance of CAVLD table lookup, but this method is not very effective in some systems due to some uncertainties in obtaining memory. Li Fen et al. proposed [14] to divide the code table according to the different prefixes of the code words, which narrowed the scope of the table lookup and reduced the traversal of the entire code table to reduce the decoding time of long code words. Moon et al. proposed to use integer arithmetic operators to realize the code table lookup method of Run_before and Total_zeros elements, which can greatly reduce the consumption of memory and time when CAVLC decodes CAVLD table lookup; Lu et al. proposed a new entropy decoding algorithm, which can improve 75.1%-82.7% decode time. Lee et al. proposed a new code table structure and a new look-up method to greatly reduce memory consumption and improve the speed of decoding look-up tables. Kim et al. proposed to use the method based on integer arithmetic operators to realize other element table lookup methods except Coeff_token and Run_before elements, thereby greatly saving the memory consumption of the lookup table and reducing the time of the lookup table. Jingjing Han and others proposed a table lookup process optimization method that divides the CAVLD code table into regions, accurately looks up the table range, and then performs entropy decoding. Uchihara et al. proposed a fast change method for the level coding change problem in CAVLD, which can reduce the energy consumption of CAVLD amplitude change by 70%. For the software CAVLD decoder structure, Uchihara et al. proposed a method based on amplitude The length extraction method, the proposed method can improve the decoder speed by 22%. the
本发明主要针对当前H.264/AVC标准中CAVLD过程中TLSS在查找码表时存在占用内存大,花费查表时间长,消耗码表存储空间多的问题,提出了一种基于索引查找的CAVLD方法,以码字前缀0的个数作为第一级索引号,以码字后缀值为第二级索引号,通过第一二级索引号的确定找到解码码字,实现基于索引查找CAVLD方法,减少了解码码字查找操作次数,节约了查找码表时内存消耗和查找时间,进而节省了CAVLD中功耗。本发明改进了标准CAVLD中TLSS方法,对现有的CAVLD中查表技术做了扩展,大大提高了CAVLD解码性能,使其能够更加高效地适合于在移动环境下小面积,低功耗嵌入式产品完成快速解码要求。 The present invention mainly aims at the problems that TLSS occupies a large amount of memory when looking up the code table in the CAVLD process in the current H.264/AVC standard, takes a long time to look up the table, and consumes a lot of storage space in the code table, and proposes a CAVLD based on index search The method uses the number of codeword prefix 0 as the first-level index number, uses the codeword suffix value as the second-level index number, and finds the decoding codeword by determining the first and second-level index numbers, and realizes the CAVLD method based on the index search, The number of decoding codeword search operations is reduced, memory consumption and search time are saved when searching the code table, and power consumption in the CAVLD is further saved. The invention improves the TLSS method in the standard CAVLD, expands the existing table look-up technology in the CAVLD, greatly improves the decoding performance of the CAVLD, and makes it more efficient and suitable for small area and low power consumption embedded in the mobile environment. The product completes the fast decoding requirements. the
上述论述内容目的在于向读者介绍可能与下面将被描述和/或主张的本发明的各个方面相关的技术的各个方面,相信该论述内容有助于为读者提供背景信息,以有利于更好地理解本发明的各个方面,因此,应了解是以这个角度来阅读这些论述,而不是承认现有技术。 The purpose of the foregoing discussion is to introduce the reader to various aspects of the technology that may be related to various aspects of the present invention that will be described and/or claimed below. It is believed that the discussion will help provide background information for the reader to facilitate a better With the various aspects of the present invention in mind, it is therefore to be understood that these discussions are to be read in this light, and not as admissions of prior art. the
发明内容 Contents of the invention
本发明主要针对当前标准CAVLD中TLSS方法在查表时存在消耗内存大,花费查表时间长,消耗码表存储空间大的问题,提出一种基于索引查找CAVLD方法,改进了标准的CAVLD过程,扩展了现有CAVLD查表技术,大大提高了CAVLD在H.264/AVC数据流上的解码能力。 The present invention mainly aims at the problem that the TLSS method in the current standard CAVLD consumes a lot of memory, takes a long time to look up the table, and consumes a large storage space of the code table when looking up the table, and proposes a method for searching the CAVLD based on an index, which improves the standard CAVLD process. The existing CAVLD table look-up technology is expanded, and the decoding ability of CAVLD on H.264/AVC data stream is greatly improved. the
本发明的目的通过以下技术方案实现: The purpose of the present invention is achieved through the following technical solutions:
提供一种基于索引查找CAVLD方法,包括以下处理步骤: Provide an index-based search CAVLD method, including the following processing steps:
S1、根据不同语法元素NC的取值范围,选取对应元素对应的可变长码表; S1, according to the value range of different syntax elements NC, select the variable length code table corresponding to the corresponding element;
S2、读取输入码流,计算输入码流中连续前缀0的个数并作为第一级索引号; S2. Read the input code stream, calculate the number of continuous prefix 0 in the input code stream and use it as the first-level index number;
S3、根据码字前缀0的个数与码长之间存在固有关系,找到对应码字长度; S3, according to the inherent relationship between the number of codeword prefix 0 and the code length, find the corresponding codeword length;
S4、如果找到的码长长度具有惟一值,则根据公式:码字后缀长度=码字长度-码字前缀0的个数,直接确定码字后缀长度;如果通过哈希表查找到的码长长度存在有2个可能值,则在再次读取1位位流并判断其值是否为零后即可确定码长;然后再根据公式:码字后缀长度=码字长度-码字前缀0的个数,确定码字后缀长度; S4, if the found code length has a unique value, then according to the formula: code word suffix length=code word length-the number of code word prefix 0, directly determine the code word suffix length; if the code length found by hash table There are 2 possible values for the length, then the code length can be determined after reading the 1-bit bit stream again and judging whether its value is zero; then according to the formula: code word suffix length = code word length - code word prefix 0 number, determine the codeword suffix length;
S5、直接从输入码流中取码字后缀长度的位流,以其值作为第二级索引号; S5, directly fetch the bit stream of the codeword suffix length from the input code stream, and use its value as the second-level index number;
S6、根据上述确定的第一二级索引号快速确定解码码字。 S6. Quickly determine the decoding codeword according to the first and second level index numbers determined above. the
其中,在步骤S1中,在步骤S1中,Coeff_token元素对应有三个可变长码表,根据其不同NC的取值选取不同的可变长码表。 Wherein, in step S1, in step S1, the Coeff_token element corresponds to three variable-length code tables, and different variable-length code tables are selected according to the values of different NCs. the
其中,在步骤S4中,只有找到码字长度存在两个可能值时,才需要再读取1位位流判断其值确定码长,在大部分情况下,由于码字前缀0的个数与码长存在一一对应关系,直接由码字前缀0的个数可以得到其对应码长。 Wherein, in step S4, only when two possible values are found in the code word length, it is necessary to read 1 bit stream to judge its value to determine the code length. There is a one-to-one correspondence between the code lengths, and the corresponding code length can be obtained directly from the number of codeword prefix 0s. the
本发明的有益效果是:所提出的一种基于索引查找CAVLD方法,采用了索引技术的方式去提高标准CAVLD中查表操作,克服了当前标准CAVLD中TLSS方法在查表时存在消耗内存大,花费时间长,占用码表存储空间大的缺点,大大提高了标准CAVLD性能,使其能够更加有效地在移动环境下低功耗、小面积的便携式产品完成快速解码要求。本发明改进了现标准中的CAVLD中TLSS方法码表查找过程,扩展了现有CAVLD查表技术,大大提高了CAVLD在H.264数据流上的解码能力。 The beneficial effects of the present invention are: the proposed index-based search method for CAVLD adopts index technology to improve the table lookup operation in standard CAVLD, and overcomes the large memory consumption of the TLSS method in the current standard CAVLD when looking up tables. The shortcomings of taking a long time and occupying a large storage space of the code table have greatly improved the performance of the standard CAVLD, making it more effective to meet the fast decoding requirements of portable products with low power consumption and small area in the mobile environment. The invention improves the code table lookup process of the TLSS method in the CAVLD in the current standard, expands the existing CAVLD table lookup technology, and greatly improves the decoding ability of the CAVLD on the H.264 data stream. the
附图说明 Description of drawings
利用附图对本发明作进一步说明,但附图中的实施例不构成对本发明的任 何限制,对于本领域的普通技术人员,在不付出创造性劳动的前提下,还可以根据以下附图获得其它的附图。 Utilize accompanying drawing to further illustrate the present invention, but the embodiment in the accompanying drawing does not constitute any restriction to the present invention, for those of ordinary skill in the art, under the premise of not paying creative work, can also obtain other according to following accompanying drawing attached drawings. the
图1是本发明的算法工作流程图。 Fig. 1 is the algorithm work flowchart of the present invention. the
图2是使用本发明算法解码Coeff_token元素的示例图。 Fig. 2 is an example diagram of decoding Coeff_token elements using the algorithm of the present invention. the
图3是本发明算法与TLSS算法在测试不同图像系列时内存消耗比较图(30帧,QP=24)。 FIG. 3 is a comparison diagram of memory consumption between the algorithm of the present invention and the TLSS algorithm when testing different image series (30 frames, QP=24). the
图4是本发明算法与TLSS算法在测试不同图像系列时内存消耗比较图(90帧,QP=32)。 Fig. 4 is a comparison diagram of memory consumption between the algorithm of the present invention and the TLSS algorithm when testing different image series (90 frames, QP=32). the
图5是本发明算法与TLSS算法在测试不同QP值时内存消耗比较图(Mobile(CIF),30帧)。 FIG. 5 is a comparison diagram of memory consumption between the algorithm of the present invention and the TLSS algorithm when testing different QP values (Mobile (CIF), 30 frames). the
图6是本发明算法与TLSS算法在不同QP值时内存消耗比较图(Walk(QCIF),90帧)。 FIG. 6 is a comparison diagram of memory consumption between the algorithm of the present invention and the TLSS algorithm at different QP values (Walk (QCIF), 90 frames). the
具体实施方式 Detailed ways
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步详细的描述,需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。 In order to enable those skilled in the art to better understand the technical solution of the present invention, the present invention will be described in further detail below in conjunction with the accompanying drawings and specific embodiments. And the features in the embodiments can be combined with each other. the
在本实例中,采用VC++6.0开发工具作为系统软件开发和仿真平台,选择JMl6.2作为测试模型,表1是测试模型中一些重要环境参数设置值,具体如下。 In this example, the VC++6.0 development tool is used as the system software development and simulation platform, and JM16.2 is selected as the test model. Table 1 shows the setting values of some important environmental parameters in the test model, as follows. the
表1 Table 1
表2是本发明算法建立起来哈希表结构图,具体如下。 Table 2 is a hash table structure diagram established by the algorithm of the present invention, specifically as follows. the
表2 Table 2
实验选用Mobile(M),Walk(W),Paris(P),Football(F),Soccer(S)和Walk(W)等六种不同格式图像系列(CIF与QCIF)作为测试系列,在相同测试条件和环境下,通过在测试不同的系列帧长度,QP值等参数下上述系列,以对比本发明所提方法与TLSS标准方法在查找码表时内存消耗,时间消耗和存储码表时空间消耗等方面性能,从而考察本发明所提算法整体性能。 The experiment selects six different format image series (CIF and QCIF) such as Mobile(M), Walk(W), Paris(P), Football(F), Soccer(S) and Walk(W) as the test series. Under conditions and environments, by testing the above-mentioned series under different series of frame lengths, QP values and other parameters, to compare the memory consumption when the method proposed by the present invention and the TLSS standard method look up the code table, time consumption and space consumption when storing the code table and so on, so as to investigate the overall performance of the algorithm proposed by the present invention. the
图1是本文所提基于索引查找CAVLD方法工作流程图。在假设解码输入码流为0000100011…,NC取值为0≤NC<2情况下,以解码Coeff_token为例,阐述我们所提基于索引查找CAVLD方法。其具体可分成如下几个步骤完成: Figure 1 is a flowchart of the index-based CAVLD method proposed in this paper. Assuming that the decoding input code stream is 0000100011..., and the value of NC is 0≤NC<2, taking the decoding of Coeff_token as an example, we illustrate our proposed index-based search CAVLD method. Specifically, it can be divided into the following steps:
S1、根据NC的值0≤NC<2,选取Coeff_token的VLCT0作为程序入口; S1. According to the value of NC 0≤NC<2, select VLCT0 of Coeff_token as the program entry;
S2、读取输入码流,计算输入码流0000100011中码字连续前缀0的个数为4,并作为第一级索引号; S2, read the input code stream, calculate the number of continuous prefix 0 of the code word in the input code stream 0000100011 to be 4, and use it as the first-level index number;
S3、根据码字前缀0的个数4与码字长度之间对应关系(如表2所示)可得到码字长度为6或7。 S3. According to the corresponding relationship between the number 4 of codeword prefix 0 and the codeword length (as shown in Table 2), the codeword length can be obtained as 6 or 7. the
S4、由于码字前缀0的个数(4)对应的码字长度存在有两个可能值6或7,通过需要进行再读取1位流操作,由于读取此位位流值为0,确定码字前缀0的个数(4)对应的码长长度为7,再根据公式:码字后缀长度=码字长度-码字 前缀0的个数,确定码字后缀长度为2; S4, because there are two possible values 6 or 7 in the codeword length corresponding to the number (4) of the codeword prefix 0, it is necessary to read 1 bit stream operation again, because the bit stream value of reading this bit is 0, Determine the code length corresponding to the number (4) of codeword prefix 0 to be 7, then according to the formula: codeword suffix length=codeword length-codeword The number of prefix 0 determines that the codeword suffix length is 2;
S5、根据码字后缀的长度2从码流中读取2位位流,并以其值(0)作为第二级索引号; S5, according to the length 2 of codeword suffix, read 2 bit streams from code stream, and use its value (0) as the second level index number;
S6、由上述确定的第一二级索引号查找索引表,如表3所示,可快速确定解码码字,得到对应的解码码字0x65。 S6. Search the index table according to the first and second level index numbers determined above. As shown in Table 3, the decoding codeword can be quickly determined to obtain the corresponding decoding codeword 0x65. the
表3 table 3
图3是使用本发明方法解码Coeff_token元素的解码过程。注意到,在本实例中,解Run_before和Total_zeros元素的解码过程与Coeff_token元素的解码过程相类似。 Fig. 3 is the decoding process of decoding the Coeff_token element using the method of the present invention. Note that in this example, the decoding process of the Run_before and Total_zeros elements is similar to that of the Coeff_token element. the
图3和图4分别是本发明算法与TLSS算法在测试不同图像系列(30帧,QP=248和90帧,QP=32)时内存消耗比较图。图5和图6分别是本发明算法与TLSS算法在测试不同QP值(Mobile(CIF),30帧和Walk(QCIF),90帧)时内存消耗比较图。从图3到图6可以看出,不论是在不同序列图像还是在不同QP值序列测试下,在查找码表内存消耗方面,本发明方法均低于TLSS方法,能够节省约35%码表内存消耗。分析其节约主要原因在于,本方法采用了索引查找方式去减少了TLSS方法中码字后缀长度和码字的连续查找次数,从而节约了查找码表时部分内存消耗,提高了CAVLD性能。 Fig. 3 and Fig. 4 are comparison diagrams of memory consumption when testing different image series (30 frames, QP=248 and 90 frames, QP=32) between the algorithm of the present invention and the TLSS algorithm respectively. Fig. 5 and Fig. 6 are comparison diagrams of memory consumption when testing different QP values (Mobile (CIF), 30 frames and Walk (QCIF), 90 frames) between the algorithm of the present invention and the TLSS algorithm respectively. It can be seen from Fig. 3 to Fig. 6 that no matter in different sequences of images or under different QP value sequence tests, the method of the present invention is lower than the TLSS method in terms of the memory consumption of the search code table, and can save about 35% of the memory of the code table consume. The main reason for the analysis of the savings is that this method uses the index search method to reduce the codeword suffix length and the number of consecutive search times of the codeword in the TLSS method, thereby saving part of the memory consumption when looking up the code table and improving the performance of CAVLD. the
表4是本发明算法与标准TLSS算法在解码不同图像序列时码表查找花费 时间情况。 Table 4 shows that the algorithm of the present invention and the standard TLSS algorithm spend time in code table lookup when decoding different image sequences. the
表4 Table 4
从表4可以看出,本发明所提基于索引查找方法在码表查找时间方面优于标准的TLSS方法,可以节省了约40%的码表查找时间。分析其减少原因主要在于本发明所提方法采用索引查找技术去加速码字后缀长度和解码码字的确定,从而减少码字后缀长度和解码码字查找时间。 It can be seen from Table 4 that the index-based search method proposed by the present invention is superior to the standard TLSS method in terms of code table search time, and can save about 40% of the code table search time. The main reason for the reduction is that the method proposed in the present invention uses the index search technology to accelerate the determination of the codeword suffix length and the decoding codeword, thereby reducing the codeword suffix length and the decoding codeword search time. the
表5是本发明算法与标准TLSS方法在码表存储空间方面消耗对比。 Table 5 is a comparison of the code table storage space consumption between the algorithm of the present invention and the standard TLSS method. the
表5 table 5
从表5可以看出,相比标准的TLSS方法,我们所提方法能够节省923字节的码表存储空间,节省主要原因在于本发明所提方法采用索引表去存储标准TLSS中codtab()元素,因而节省TLSS中codtab()码表存储空间,提高了移动环境下低功耗,存储资源受限的便携式设备存储空间利用率。 As can be seen from Table 5, compared with the standard TLSS method, our proposed method can save 923 bytes of code table storage space, and the main reason for saving is that the proposed method of the present invention uses an index table to store the codtab() element in the standard TLSS , thereby saving the storage space of the codtab() code table in the TLSS, and improving the utilization rate of the storage space of portable devices with low power consumption and limited storage resources in the mobile environment. the
本发明根据从输入码流中计算的码字前缀0的个数,利用哈希表查找技术从已建立的哈希表中去找到码字后缀长度,可减少查找、匹配和判断码字后缀长度的操作,节省CAVLD中表查找内存消耗和查表时间。在确定码字后缀长度之后,根据码长=码字前缀0的个数+码字后缀长度的固有关系,找到快速确定码长方法,可减少查找、匹配、判断和确定码长操作,节省查表内存消耗和查表时间。由于使用了哈希表技术存储码字后缀长度,根据码字前缀0的个数+码字后缀长度关系=码长可快速确定码长,可节省标准TLSS方法中进行lentab()查找步骤中和lentab()码表存储空间,提高了CAVLD中码表存储空间利用率,是比较高效的CAVLD方法。 According to the number of code word prefix 0 calculated from the input code stream, the present invention uses the hash table search technology to find the code word suffix length from the established hash table, which can reduce the search, matching and judgment of the code word suffix length The operation saves the memory consumption and table lookup time of table lookup in CAVLD. After determining the codeword suffix length, according to the inherent relationship of code length = number of codeword prefix 0s + codeword suffix length, a method for quickly determining the code length can be found, which can reduce the operations of searching, matching, judging and determining the code length, and save searching Table memory consumption and table lookup time. Because the hash table technology is used to store the codeword suffix length, the code length can be quickly determined according to the number of codeword prefix 0+codeword suffix length=code length, which can save the lentab() search step in the standard TLSS method and The lentab() code table storage space improves the utilization rate of the code table storage space in CAVLD, and is a relatively efficient CAVLD method. the
利用码字前缀0的个数与码字长度之间存在固有关系确定码字长度,节省了码字长度查找,匹配,判断和确定的时间; Use the inherent relationship between the number of codeword prefix 0 and the codeword length to determine the codeword length, saving the time for searching, matching, judging and determining the codeword length;
根据码字后缀长度=码字长度-码字前缀0的个数与之间存在固有关系,找到一种快速确定码字后缀位数和数值方法,节省了码字后缀查找,匹配,判断和确定的时间; According to the inherent relationship between codeword suffix length = codeword length - the number of codeword prefix 0, a method for quickly determining the number of codeword suffix digits and values is found, which saves codeword suffix search, matching, judgment and determination time;
通过以码字前缀0的个数作为第一级索引号,以码字后缀值为第二级索引号,由上述第一二级索引号的确定可快速确定解码码字,实现基于索引查找CAVLD方法; By using the number of codeword prefix 0 as the first-level index number and the codeword suffix value as the second-level index number, the determination of the above-mentioned first and second-level index numbers can quickly determine the decoding codeword, and realize searching CAVLD based on the index method;
不仅可节省CAVLD查表时内存消耗和解码时间,还可节约码表存储空间,是一种比较高效的CAVLD方法。 It can not only save memory consumption and decoding time when CAVLD looks up the table, but also save code table storage space, which is a relatively efficient CAVLD method. the
上面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,不能理解为对本发明保护范围的限制。 Many specific details have been set forth in the above description to facilitate a full understanding of the present invention. However, the present invention can also be implemented in other ways than those described here, therefore, it should not be construed as limiting the protection scope of the present invention. the
总之,本发明虽然例举了上述优选实施方式,但是应该说明,虽然本领域的技术人员可以进行各种变化和改型,除非这样的变化和改型偏离了本发明的范围,否则都应该包括在本发明的保护范围内。 In a word, although the present invention has exemplified the above-mentioned preferred embodiments, it should be noted that although those skilled in the art can make various changes and modifications, unless such changes and modifications deviate from the scope of the present invention, they should include Within the protection scope of the present invention. the
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410333153.8A CN104301725A (en) | 2014-07-14 | 2014-07-14 | A CAVLD Method Based on Index Search |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410333153.8A CN104301725A (en) | 2014-07-14 | 2014-07-14 | A CAVLD Method Based on Index Search |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104301725A true CN104301725A (en) | 2015-01-21 |
Family
ID=52321258
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410333153.8A Pending CN104301725A (en) | 2014-07-14 | 2014-07-14 | A CAVLD Method Based on Index Search |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104301725A (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090501A (en) * | 2006-06-13 | 2007-12-19 | 财团法人工业技术研究院 | Model-searching variable-length encoding and decoding method and device |
CN101365132A (en) * | 2008-08-22 | 2009-02-11 | 华亚微电子(上海)有限公司 | Fast effective parsing method for CAVLD of H.264 suitable for VLSI implementation |
CN101873496A (en) * | 2010-05-24 | 2010-10-27 | 杭州海康威视软件有限公司 | Context-based self-adaption variable length decoding method and device of H.264 |
CN102740066A (en) * | 2011-04-01 | 2012-10-17 | 富士通株式会社 | CAVLC decoding method and system |
-
2014
- 2014-07-14 CN CN201410333153.8A patent/CN104301725A/en active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101090501A (en) * | 2006-06-13 | 2007-12-19 | 财团法人工业技术研究院 | Model-searching variable-length encoding and decoding method and device |
CN101365132A (en) * | 2008-08-22 | 2009-02-11 | 华亚微电子(上海)有限公司 | Fast effective parsing method for CAVLD of H.264 suitable for VLSI implementation |
CN101873496A (en) * | 2010-05-24 | 2010-10-27 | 杭州海康威视软件有限公司 | Context-based self-adaption variable length decoding method and device of H.264 |
CN102740066A (en) * | 2011-04-01 | 2012-10-17 | 富士通株式会社 | CAVLC decoding method and system |
Non-Patent Citations (3)
Title |
---|
韩一石 等: "《基于索引查询的CAVLC解码算法优化》", 《计算机工程与应用》 * |
黄明政 等: "《一种可实现零内存存取的CAVLC解码算法》", 《计算机工程》 * |
黄明政 等: "《一种基于CAVLC解码的快速码表查找算法》", 《计算机工程》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11431351B2 (en) | Selection of data compression technique based on input characteristics | |
CN101164340A (en) | CABAC decoding system and method | |
CN102122960A (en) | Multi-character combination lossless data compression method for binary data | |
CN103227924B (en) | A kind of arithmetic encoder and coded method | |
KR20230159597A (en) | Point cloud processing method, decoding processing method and related devices | |
CN102938685A (en) | Wireless sensor network data compression method based on variable-length encoding | |
CN105025296B (en) | A kind of advanced mathematical encoder and its implementation | |
CN102447908B (en) | A Context Simplification Method for HEVC Parameter Coding | |
KR101030726B1 (en) | A Hoffman decoding method and apparatus for multimedia with improved memory efficiency by applying a Hoffman table based on symbols generated by a stochastic table | |
CN104301725A (en) | A CAVLD Method Based on Index Search | |
CN104918049A (en) | Binary arithmetic coding module suitable for HEVC (high efficiency video coding) standards | |
CN101707484B (en) | Fast exp-Golomb decoding method suitable to be implemented by hardware | |
CN1331360C (en) | Method for decoding codes in variable lengths | |
CN101998122A (en) | Method and device for decoding normal form Hoffman hardware in JPEG (Joint Photographic Expert Group) image | |
CN102545910B (en) | A kind of jpeg huffman decoding circuit and coding/decoding method thereof | |
CN107277553A (en) | A kind of binary arithmetic encoder | |
CN104133853A (en) | CAVLD method based on Hash table lookup | |
CN103533360B (en) | A kind of AVS coding chip is optimized the method that code table stores | |
CN201966895U (en) | JPEG Hoffman decoding circuit | |
Chen et al. | Huffman coding method based on parallel implementation of FPGA | |
CN104486624A (en) | CAVLC entropy decoder and entropy decoding method | |
Wei et al. | Efficient VLSI Huffman encoder implementation and its application in high rate serial data encoding | |
CN102572437B (en) | Hardware realization method for rapidly decoding CAVLC (context-adaptive variable-length coding) run_before code | |
CN103986474B (en) | LDPC code check node updating method and system | |
CN102547267A (en) | Video data decoding method and system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20150121 |