Nothing Special   »   [go: up one dir, main page]

CN103384329A - CAVLC decoding method based on no code table lookup - Google Patents

CAVLC decoding method based on no code table lookup Download PDF

Info

Publication number
CN103384329A
CN103384329A CN2013101643206A CN201310164320A CN103384329A CN 103384329 A CN103384329 A CN 103384329A CN 2013101643206 A CN2013101643206 A CN 2013101643206A CN 201310164320 A CN201310164320 A CN 201310164320A CN 103384329 A CN103384329 A CN 103384329A
Authority
CN
China
Prior art keywords
codeword
suffix
length
value
level
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
Application number
CN2013101643206A
Other languages
Chinese (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.)
Guangdong University of Technology
Original Assignee
Guangdong University of Technology
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 Guangdong University of Technology filed Critical Guangdong University of Technology
Priority to CN2013101643206A priority Critical patent/CN103384329A/en
Publication of CN103384329A publication Critical patent/CN103384329A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明涉及一种基于无码表查找CAVLC解码方法,它包括根据NC的取值,选取Coeff-token元素对应的可变长码表;读取输入码流,计算输入码流中连续前缀0的个数,将该个数作为程序跳转语句入口的第一级;通过码字前缀0的个数得到对应的码字长度,根据所述码字长度与码字前缀0的个数之间关系确定码字后缀的长度;根据所述码字后缀的长度从所述输入码流中读取码字后缀;判读所述码字后缀的值,并将所述码字后缀的值作为程序跳转语句入口的第二级;根据所述程序在跳转语句第一级及第二级的执行,可得到对应的解码码字。其有益效果是:本发明可大大节省对码表的查找,码字的定位,判断和处理时间,提高了标准CAVLC解码性能。

Figure 201310164320

The invention relates to a CAVLC decoding method based on no code table search, which includes selecting a variable length code table corresponding to the Coeff-token element according to the value of NC; reading the input code stream, and calculating the number of continuous prefix 0 in the input code stream Number, the number is used as the first level of the program jump statement entry; the corresponding codeword length is obtained by the number of codeword prefix 0, and determined according to the relationship between the codeword length and the number of codeword prefix 0 The length of the codeword suffix; read the codeword suffix from the input code stream according to the length of the codeword suffix; interpret the value of the codeword suffix, and use the value of the codeword suffix as a program jump statement The second level of entry; according to the execution of the program at the first level and the second level of the jump statement, the corresponding decoding codeword can be obtained. Its beneficial effects are: the present invention can greatly save time for searching code tables, locating code words, judging and processing, and improves standard CAVLC decoding performance.

Figure 201310164320

Description

一种基于无码表查找CAVLC解码方法A CAVLC Decoding Method Based on No Code Table Lookup

技术领域 technical field

 本发明涉及视频图像编解码技术领域,特别涉及一种基于无码表查找CAVLC解码方法。  The present invention relates to the technical field of video image encoding and decoding, in particular to a CAVLC decoding method based on no code table lookup. the

背景技术 Background technique

H.264/AVC是ITU-VCEG(Video Coding Experts Group)和ISO MPEG(Moving Picture Experts Group)共同制定的视频压缩编码国际标准。由于它具有高编码压缩效率、友好的面向网络接口和在较低带宽上提供高质量图像传输的特点,在数字视频通信和存储领域得到了越来越广泛的应用,被普遍认为是最有影响力的行业标准。CAVLC(基于上下文自适应的可变长编码)是H.264/AVC标准中熵编码的一种最常见编码方式,由于它可以根据视频流的不同在多组结构不同的码表中进行动态的切换,可大大提高视频编码效率和视频质量。然而,CAVLC在提高视频编码效率和视频质量的同时,因其复杂运算量大大增加编解码视频所需的功耗,H.264/AVC高性能的获得是以增加其编解码的功耗为代价的。  H.264/AVC is an international standard for video compression coding jointly formulated by ITU-VCEG (Video Coding Experts Group) and ISO MPEG (Moving Picture Experts Group). Because of its high coding and compression efficiency, friendly network-oriented interface and high-quality image transmission at a lower bandwidth, it has been widely used in the field of digital video communication and storage, and is generally considered to be the most influential powerful industry standards. CAVLC (Context-Adaptive Variable Length Coding) is the most common encoding method of entropy encoding in the H.264/AVC standard, because it can perform dynamic encoding in multiple sets of code tables with different structures according to different video streams. Switching can greatly improve video encoding efficiency and video quality. However, while CAVLC improves video encoding efficiency and video quality, it greatly increases the power consumption required for encoding and decoding video due to its complex calculations. The high performance of H.264/AVC is at the cost of increasing its encoding and decoding power consumption. of. the

码表查找是一个非常消耗功率的操作。由于标准CAVLC解码查表方法采用连续查找码表(TLSS)方式,直到查找到预期码字,因而它消耗了视频大量解码器的功耗。据统计,码表查找消耗了视频解码器60%以上内存功耗和花费着约70%的解码时间,是一个严重影响CAVLC解码性能的主要因素,也是一个阻碍H.264/AVC标准技术发展的重要瓶颈。在H.264/AVC标准的CAVLC解码过程中,由于CAVLC解码过程需要涉及到五个元素的解码(Coeff_token,T1s, Level, Run_before 和 Total_zeros),其中解码Coeff_token,Run_before 和 Total_zeros三个元素需要利用大量的可变长码表解码,因此消耗着H.264/AVC视频解码器大量功耗和时间。所以如何在CAVLC解码中去降低查找可变长码表时内存消耗和减少CAVLC解码中查找可变长码表的时间成为我们当前研究关注的一个主要问题。  Code table lookup is a very power consuming operation. Since the standard CAVLC decoding table look-up method uses a continuous code table lookup (TLSS) method until the expected codeword is found, it consumes a lot of video decoder power consumption. According to statistics, the code table lookup consumes more than 60% of the memory power consumption and about 70% of the decoding time of the video decoder, which is a major factor that seriously affects the decoding performance of CAVLC, and is also a hindrance to the development of H.264/AVC standard technology. important bottleneck. In the CAVLC decoding process of the H.264/AVC standard, since the CAVLC decoding process needs to involve the decoding of five elements (Coeff_token, T1s, Level, Run_before and Total_zeros), decoding the three elements of Coeff_token, Run_before and Total_zeros requires a large number of The variable length code table decoding, therefore consumes a lot of power consumption and time of the H.264/AVC video decoder. Therefore, how to reduce the memory consumption and reduce the time of searching the variable-length code table in CAVLC decoding has become a major issue that our current research focuses on. the

发明内容 Contents of the invention

本发明的主要目的在于,针对上述现有技术中的不足,提供一种基于无码表查找CAVLC解码方法,该方法采用了程序代码的方式去代替了H.264/AVC标准中码表连续查找方法,节省了由于码表查找所引起的内存消耗,提高了H.264/AVC中CAVLC解码性能。  The main purpose of the present invention is to, aiming at the deficiencies in the above-mentioned prior art, provide a kind of CAVLC decoding method based on no code table search, the method adopts the mode of program code to replace the code table continuous search method in the H.264/AVC standard , which saves the memory consumption caused by code table lookup, and improves the performance of CAVLC decoding in H.264/AVC. the

本发明解决现有技术问题所采用的技术方案是:一种基于无码表查找CAVLC解码方法,它包括以下步骤:  The technical solution adopted by the present invention to solve the problems of the prior art is: a kind of CAVLC decoding method based on no code table search, it comprises the following steps:

S1、根据NC的取值,选取Coeff-token元素对应的可变长码表; S1. According to the value of NC, select the variable length code table corresponding to the Coeff-token element;

S2、读取输入码流,计算输入码流中连续前缀0的个数,将该个数作为程序跳转语句入口的第一级; S2, read the input code stream, calculate the number of continuous prefix 0 in the input code stream, and use this number as the first level of the program jump statement entry;

S3、通过码字前缀0的个数得到对应的码字长度,根据所述码字长度与码字前缀0的个数之间关系确定码字后缀的长度; S3, obtain the corresponding codeword length by the number of the codeword prefix 0, determine the length of the codeword suffix according to the relationship between the codeword length and the number of the codeword prefix 0;

S4、根据所述码字后缀的长度从所述输入码流中读取码字后缀; S4. Read the codeword suffix from the input code stream according to the length of the codeword suffix;

S5、判读所述码字后缀的值,并将所述码字后缀的值作为程序跳转语句入口的第二级; S5. Interpret the value of the codeword suffix, and use the value of the codeword suffix as the second level of the program jump statement entry;

S6、根据所述程序在跳转语句第一级及第二级的执行,可得到对应的解码码字。 S6. According to the execution of the program at the first level and the second level of the jump statement, the corresponding decoded codeword can be obtained.

下面对上述技术方案进一步阐述:     进一步的,所述步骤S3中,当所述码字前缀0的个数对应的码字长度存在两个可能值时,需进行判断码字后缀第一位是否为“0”;  The above technical solution is further elaborated below: Further, in the step S3, when there are two possible values for the codeword length corresponding to the number of the codeword prefix 0, it is necessary to judge whether the first digit of the codeword suffix is is "0";

若所述码字后缀第一位为“0”,则确定所述码字长度为两种可能值中的一个,再继续步骤S4及后续步骤; If the first bit of the codeword suffix is "0", then determine that the length of the codeword is one of two possible values, and then continue to step S4 and subsequent steps;

若所述码字后缀第一位为“1”,则查找对应解码码字,不跳转。 If the first bit of the codeword suffix is "1", then search for the corresponding decoded codeword without jumping.

进一步的,所述步骤S5中,当所述码字后缀的值为0,则查找与所述码字后缀的值0对应的码字,当所述码字后缀的值为1,则查找与所述码字后缀的值1对应的码字。  Further, in the step S5, when the value of the codeword suffix is 0, then search for the codeword corresponding to the value 0 of the codeword suffix, and when the value of the codeword suffix is 1, then search for the codeword corresponding to the value of the codeword suffix The codeword corresponding to the value 1 of the codeword suffix. the

进一步的,所述输入码流中连续前缀0的个数为n,第一级的选择跳转语句的标记为Case n,则步骤1中,程序跳转至第一级的选择跳转语句Case n处执行。  Further, the number of continuous prefix 0 in the input code stream is n, the mark of the selection jump statement of the first level is Case n, then in step 1, the program jumps to the selection jump statement Case of the first level Execute at n. the

本发明的有益效果是:本发明提供的一种基于无码表查找CAVLC解码方法,采用了基于程序代码的方式代替码表查找的方法,实现标准CAVLC解码查表操作,可大大节省对码表的查找,码字的定位,判断和处理时间,克服了当前标准CAVLC解码中TLSS方法查表时存在查表占用内存大,消耗查表时间长,占据码表存储空间大的缺点,大大提高了标准CAVLC解码性能。  The beneficial effect of the present invention is: a kind of CAVLC decoding method based on non-code table search provided by the present invention adopts the method based on program code instead of code table search, realizes standard CAVLC decoding table look-up operation, can greatly save the code table Lookup, code word positioning, judgment and processing time, overcome the disadvantages of the TLSS method in the current standard CAVLC decoding that the table lookup takes up a lot of memory, takes a long time to look up the table, and occupies a large storage space of the code table, greatly improving the standard CAVLC decoding performance. the

附图说明 Description of drawings

图1是本发明的方法的流程图;  Fig. 1 is a flow chart of the method of the present invention;

图2是本发明方法与其它几种常用方法在不同图像序列时码表查找消耗内存比较图1;  Fig. 2 is that the method of the present invention and other several commonly used methods compare Fig. 1 in memory consumption of code table lookup when different image sequences;

图3是本发明方法与其它几种常用方法在测试不同图像序列时码表查找消耗内存比较图2;  Fig. 3 is that the method of the present invention and other several commonly used methods compare Fig. 2 of memory consumption of code table lookup when testing different image sequences;

图4是本发明方法与常用其它几种常见方法在解码不同图像序列时消耗码表查找时间比较图;  Fig. 4 is that the inventive method and several other commonly used common methods consume code table lookup time comparison figure when decoding different image sequences;

图5是本发明方法与标准TLSS方法在码表存储空间方面消耗比较图。  Fig. 5 is a comparison chart of code table storage space consumption between the method of the present invention and the standard TLSS method. the

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。  The realization of the purpose of the present invention, functional characteristics and advantages will be further described in conjunction with the embodiments and with reference to the accompanying drawings. the

具体实施方式 Detailed ways

以下将结合附图及具体实施例详细说明本发明的技术方案,以便更清楚、直观地理解本发明的发明实质。  The technical solution of the present invention will be described in detail below in conjunction with the accompanying drawings and specific embodiments, so as to understand the essence of the present invention more clearly and intuitively. the

本发明主要针对当前标准CAVLC解码中连续码表查找方法(TLSS)在解码查表时存在占用内存大,花费查表时间长,消耗码表存储空间大的问题,提供了一种基于无码表查找CAVLC解码方法,使用程序代码执行去实现码表查找,改进了标准的CAVLC解码码表查找过程, 扩展了现有CAVLC解码查表技术,以提高CAVLC解码在H.264/AVC数据流上的解码能力。  The present invention mainly aims at the problem that the continuous code table lookup method (TLSS) in the current standard CAVLC decoding takes up a large amount of memory, takes a long time to look up the table, and consumes a large storage space of the code table when decoding the table lookup, and provides a search method based on no code table The CAVLC decoding method uses program code execution to realize the code table lookup, improves the standard CAVLC decoding code table lookup process, and expands the existing CAVLC decoding table lookup technology to improve the decoding of CAVLC decoding on the H.264/AVC data stream ability. the

参照图1所示,该方法具体包括以下步骤:  Referring to Figure 1, the method specifically includes the following steps:

S1、根据NC的取值,选取Coeff-token元素对应的可变长码表;该步骤中, Coeff_token 元素对应有三个可变长码表,需根据不同NC的取值选取不同的可变长码表。 S1. According to the value of NC, select the variable-length code table corresponding to the Coeff-token element; in this step, the Coeff_token element corresponds to three variable-length code tables, and different variable-length codes need to be selected according to different NC values surface.

S2、读取输入码流,计算输入码流中连续前缀0的个数,将该个数作为程序跳转语句入口的第一级,例如,所述输入码流中连续前缀0的个数为n,第一级的选择跳转语句的标记为Case n,则步骤1中,程序跳转至第一级的选择跳转语句Case n处执行。  S2, read the input code stream, calculate the number of continuous prefix 0 in the input code stream, and use this number as the first level of the entry of the program jump statement, for example, the number of continuous prefix 0 in the input code stream is n, the label of the first-level selective jump statement is Case n, then in step 1, the program jumps to the first-level selective jump statement Case n for execution. the

S3、通过码字前缀0的个数得到对应的码字长度,根据所述码字长度与码字前缀0的个数之间关系确定码字后缀的长度;具体的,  S3, obtain the corresponding codeword length by the number of the codeword prefix 0, determine the length of the codeword suffix according to the relationship between the codeword length and the number of the codeword prefix 0; Specifically,

当所述码字前缀0的个数对应的码字长度存在两个可能值时,需进行判断码字后缀第一位是否为“0”; When the codeword length corresponding to the number of the codeword prefix 0 has two possible values, it is necessary to judge whether the first bit of the codeword suffix is "0";

若所述码字后缀第一位为“0”,则确定所述码字长度为两种可能值中的一个,再继续步骤S4及后续步骤; If the first bit of the codeword suffix is "0", then determine that the length of the codeword is one of two possible values, and then continue to step S4 and subsequent steps;

若所述码字后缀第一位为“1”,则查找对应解码码字,不跳转。 If the first bit of the codeword suffix is "1", then search for the corresponding decoded codeword without jumping.

S4、根据所述码字后缀的长度从所述输入码流中读取码字后缀;  S4. Read the codeword suffix from the input code stream according to the length of the codeword suffix;

S5、判读所述码字后缀的值,并将所述码字后缀的值作为程序跳转语句入口的第二级;该步骤中,所述码字后缀的值可能为0或1,当该后缀的值为0时,则查找与所述码字后缀的值0对应的码字,当所述码字后缀的值为1,则查找与所述码字后缀的值1对应的码字。 S5. Interpret the value of the codeword suffix, and use the value of the codeword suffix as the second level of the program jump statement entry; in this step, the value of the codeword suffix may be 0 or 1, when the value of the codeword suffix When the value of the suffix is 0, the code word corresponding to the value 0 of the code word suffix is searched, and when the value of the code word suffix is 1, the code word corresponding to the value 1 of the code word suffix is searched.

S6、根据所述程序在跳转语句第一级及第二级的执行,可得到对应的解码码字。  S6. According to the execution of the program at the first level and the second level of the jump statement, the corresponding decoded codeword can be obtained. the

假设NC值为0≤NC<2时,解码输入码流为0000100011……下,以解码Coeff_token为例,则本发明的方法可由如下步骤完成:  Assuming that the NC value is 0≤NC<2, the decoded input code stream is 0000100011..., taking the decoded Coeff_token as an example, the method of the present invention can be completed by the following steps:

第一步:根据NC的值0≤NC<2,选取Coeff_ token的可变长码表0作为程序入口; Step 1: According to the value of NC 0≤NC<2, select the variable length code table 0 of Coeff_ token as the program entry;

第二步:读取输入码流,计算输入码流0000100011中码字连续前缀0的个数为4,程序跳转到第一级的选择跳转语句Case 4处执行; The second step: 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 the program jumps to the first-level selection jump statement Case 4 to execute;

第三步:根据码字前缀0的个数4与码长对应关系可得到码字长度为6或7;由于码字前缀0的个数4对应的码字长度有两个可能值6或7,通过进一步判断码字后缀第1位是为0,可得到码字前缀0的个数4对应的码字长度为7,再根据码字前缀0个数与码长关系可得码字后缀长度为2; The third step: according to the corresponding relationship between the number 4 of the code word prefix 0 and the code length, the code word length can be obtained as 6 or 7; because the code word length corresponding to the number 4 of the code word prefix 0 has two possible values 6 or 7 , by further judging that the first bit of the codeword suffix is 0, the codeword length corresponding to the number 4 of the codeword prefix 0 can be obtained as 7, and then the codeword suffix length can be obtained according to the relationship between the number of codeword prefix 0 and the code length is 2;

第四步:根据码字后缀的长度2从码流中读取2位码字后缀值,并判断其值是否为0作为程序判断跳转语句入口第二级;  Step 4: Read the 2-bit codeword suffix value from the code stream according to the length 2 of the codeword suffix, and judge whether its value is 0 as the second level of program judgment jump statement entry;

由上述程序在跳转语句一二级的执行,可找得到对应的解码码字0x65。 The corresponding decoding code word 0x65 can be found by executing the above program at the first and second levels of the jump statement.

其部分程序代码如下:  Part of its program code is as follows:

Case 4://码字前缀0的个数。---第一级判断跳转语句程序 Case 4: //The number of codeword prefix 0. ---The first level judgment jump statement program

       codesuff=1;//码字后缀第一位 Codesuff=1;//The first digit of codeword suffix

codesuffword=ShowBits(buf,frame-bitoffset,BitstreamLengthInBits,1);//码字后缀第一位 codesuffword=ShowBits(buf, frame-bitoffset, BitstreamLengthInBits, 1); // the first digit of the codeword suffix

if(codesuffword)//码字后缀第一位值为1 if(codesuffword)//The value of the first digit of codeword suffix is 1

  cod=0x64;//码字 cod=0x64;//code word

else else

{ {

  codesuff=2;//码字后缀长度为2; codesuff=2;//code word suffix length is 2;

codesuffword=ShowBits(buf,frame-bitoffset,BitstreamLengthInBits,2); codesuffword = ShowBits(buf, frame_bitoffset, BitstreamLengthInBits, 2);

if(codesuffword=00)//判断码字后缀值是否为0,--第二级判断跳转语句程序 if(codesuffword=00)//judging whether the code word suffix value is 0, -- the second level judges the jump statement program

cod=0x64;//码字 cod=0x64;//code word

else  if(codesuffword=01) else if(codesuffword=01)

cod=0x43;//码字 cod=0x43;//code word

else else

   cod=“decoding  error” cod="decoding error"

} }

其它Run_before 和 Total_zeros元素解码方法与Coeff_token解码方法相同,不再累述。 The decoding method of other Run_before and Total_zeros elements is the same as that of Coeff_token, and will not be repeated here.

图2和图3分别是本发明方法与常用其它几种常见方法在测试不同参数的图像序列时码表查找消耗内存比较图;其中图2是在设置Frame=60,QP=28的图像序列下测得码表内存消耗比较图,图3是在设置Frame=120,QP=32的图像序列下测得码表内存消耗比较图。从图2和图3可以看出,在查找码表内存消耗的节省方面,我们所提的方法高于其它所有方法,能够达到100%节省码表查找内存占用与消耗。节省原因主要在于,我们所提方法采用了程序代码的方式去代替了H.264/AVC标准中码表连续查找方法,可节省了由于码表查找所引起的内存消耗,提高了H.264/AVC中CAVLC解码性能。从图2,图3还可以看出,Kim方法相比TLBS 和 Moon方法能取得更好的内存节省特性。 TLBS方法在较大QP值时占有较大内存节省优越,Moon则在较低的QP值时能取得比较好的内存节省效果。  Fig. 2 and Fig. 3 are the memory comparison diagrams of the code table lookup consumption when testing the image sequences of different parameters between the method of the present invention and several other commonly used common methods respectively; wherein Fig. 2 is under the image sequence of setting Frame=60, QP=28 The comparison chart of the memory consumption of the measured code table, Figure 3 is the comparison chart of the memory consumption of the code table measured under the image sequence with Frame=120 and QP=32. It can be seen from Figure 2 and Figure 3 that in terms of saving the memory consumption of code table lookup, the method we proposed is higher than all other methods, and can achieve 100% saving of code table search memory occupation and consumption. The main reason for saving is that our proposed method uses program code to replace the code table continuous search method in the H.264/AVC standard, which can save the memory consumption caused by the code table search and improve the H.264/AVC standard. CAVLC decoding performance in AVC. It can also be seen from Figure 2 and Figure 3 that the Kim method can achieve better memory saving characteristics than the TLBS and Moon methods. The TLBS method occupies a large memory saving advantage at a large QP value, and Moon can achieve a relatively good memory saving effect at a low QP value. the

图4是本发明方法与常用其它几种常见方法在解码不同图像序列时消耗码表查找时间比较图。从图5可以看出,相比标准的TLSS方法,本发明方法能够提高约45%的码表查找速度,高于其它常用查表算法。分析其主要原因在于我们所提方法采用程序代码的方式去实现码表查找,可大大节省对码表的查找,码字的定位,判断和处理时间。  Fig. 4 is a comparison diagram of code table lookup time consumed by the method of the present invention and several other commonly used common methods when decoding different image sequences. As can be seen from Fig. 5, compared with the standard TLSS method, the method of the present invention can improve the code table lookup speed by about 45%, which is higher than other commonly used table lookup algorithms. The main reason for the analysis is that our proposed method uses program codes to realize code table lookup, which can greatly save time for code table lookup, code word positioning, judgment and processing. the

图5是本发明方法与标准TLSS方法在码表存储空间方面消耗比较图。从图5可以看出,相比标准的TLSS方法,本发明方法能够节省2320 字节的码表存储空间,节省主要原因在于我们的所提方法采用程序代码方式去代替码表,可节省码表存储空间,提高了那些在移动环境下存储资源受限的小面积,低功耗器件的嵌入式设备存储空间利用率。  Fig. 5 is a comparison chart of code table storage space consumption between the method of the present invention and the standard TLSS method. As can be seen from Fig. 5, compared with the standard TLSS method, the inventive method can save 2320 bytes of code table storage space, saving the main reason is that our proposed method adopts the program code mode to replace the code table, which can save the code table Storage space, which improves the storage space utilization of embedded devices with limited storage resources in mobile environments with small areas and low power consumption. the

综上所述,本发明提供的一种基于无码表查找CAVLC解码方法,采用了基于程序代码的方式代替码表查找的方法,实现标准CAVLC解码查表操作,可大大节省对码表的查找,码字的定位,判断和处理时间,克服了当前标准CAVLC解码中TLSS方法查表时存在查表占用内存大,消耗查表时间长,占据码表存储空间大的缺点,大大提高了标准CAVLC解码性能。  In summary, a kind of CAVLC decoding method based on no code table search provided by the present invention adopts a program code-based method instead of the code table search method to realize the standard CAVLC decoding table lookup operation, which can greatly save the search of the code table. The positioning, judgment and processing time of the code word overcomes the disadvantages of the TLSS method in the current standard CAVLC decoding that the table lookup takes up a lot of memory, takes a long time to look up the table, and occupies a large storage space of the code table, greatly improving the standard CAVLC decoding. performance. the

以上所述仅为本发明的优选实施例,并非因此限制其专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围。  The above is only a preferred embodiment of the present invention, and does not limit the scope of its patents. Any equivalent structure or equivalent process transformation made by using the description of the present invention and the contents of the accompanying drawings is directly or indirectly used in other related technical fields. All are included in the scope of patent protection of the present invention in the same way. the

Claims (4)

1.一种基于无码表查找CAVLC解码方法,其特征在于:它包括以下步骤 1. a kind of CAVLC decoding method based on no code table, is characterized in that: it comprises the following steps S1、根据NC的取值,选取Coeff-token元素对应的可变长码表; S1. According to the value of NC, select the variable length code table corresponding to the Coeff-token element; S2、读取输入码流,计算输入码流中连续前缀0的个数,将该个数作为程序跳转语句入口的第一级; S2, read the input code stream, calculate the number of continuous prefix 0 in the input code stream, and use this number as the first level of the program jump statement entry; S3、通过码字前缀0的个数得到对应的码字长度,根据所述码字长度与码字前缀0的个数之间关系确定码字后缀的长度; S3, obtain the corresponding codeword length by the number of the codeword prefix 0, determine the length of the codeword suffix according to the relationship between the codeword length and the number of the codeword prefix 0; S4、根据所述码字后缀的长度从所述输入码流中读取码字后缀; S4. Read the codeword suffix from the input code stream according to the length of the codeword suffix; S5、判读所述码字后缀的值,并将所述码字后缀的值作为程序跳转语句入口的第二级; S5. Interpret the value of the codeword suffix, and use the value of the codeword suffix as the second level of the program jump statement entry; S6、根据所述程序在跳转语句第一级及第二级的执行,可得到对应的解码码字。 S6. According to the execution of the program at the first level and the second level of the jump statement, the corresponding decoded codeword can be obtained. 2.根据权利要求1所述的基于无码表查找CAVLC解码方法,其特征在于:所述步骤S3中,当所述码字前缀0的个数对应的码字长度存在两个可能值时,需进行判断码字后缀第一位是否为“0”; 2. search CAVLC decoding method based on no code table according to claim 1, it is characterized in that: in described step S3, when the code word length corresponding to the number of described code word prefix 0 has two possible values, need Determine whether the first digit of the codeword suffix is "0"; 若所述码字后缀第一位为“0”,则确定所述码字长度为两种可能值中的一个,再继续步骤S4及后续步骤; If the first bit of the codeword suffix is "0", then determine that the length of the codeword is one of two possible values, and then continue to step S4 and subsequent steps; 若所述码字后缀第一位为“1”,则查找对应解码码字,不跳转。 If the first bit of the codeword suffix is "1", then search for the corresponding decoded codeword without jumping. 3.根据权利要求1所述的基于无码表查找CAVLC解码方法,其特征在于:所述步骤S5中,当所述码字后缀的值为0,则查找与所述码字后缀的值0对应的码字,当所述码字后缀的值为1,则查找与所述码字后缀的值1对应的码字。 3. search CAVLC decoding method based on no code table according to claim 1, it is characterized in that: in described step S5, when the value of described code word suffix is 0, then search and the value 0 correspondence of described code word suffix codeword, when the value of the codeword suffix is 1, then search for the codeword corresponding to the value 1 of the codeword suffix. 4.根据权利要求1所述的基于无码表查找CAVLC解码方法,其特征在于:所述输入码流中连续前缀0的个数为n,第一级的选择跳转语句的标记为Case n,则步骤1中,程序跳转至第一级的选择跳转语句Case n处执行。 4. search CAVLC decoding method based on no code table according to claim 1, it is characterized in that: the number of continuous prefix 0 is n in the described input code stream, the mark of the selection jump sentence of the first level is Case n, Then in step 1, the program jumps to the first-level selection jump statement Case n for execution.
CN2013101643206A 2013-05-07 2013-05-07 CAVLC decoding method based on no code table lookup Pending CN103384329A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013101643206A CN103384329A (en) 2013-05-07 2013-05-07 CAVLC decoding method based on no code table lookup

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013101643206A CN103384329A (en) 2013-05-07 2013-05-07 CAVLC decoding method based on no code table lookup

Publications (1)

Publication Number Publication Date
CN103384329A true CN103384329A (en) 2013-11-06

Family

ID=49492015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013101643206A Pending CN103384329A (en) 2013-05-07 2013-05-07 CAVLC decoding method based on no code table lookup

Country Status (1)

Country Link
CN (1) CN103384329A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1913638A (en) * 2005-08-09 2007-02-14 C&S技术有限公司 H.264 decoding method for fast CAVLC
CN101309423A (en) * 2008-06-26 2008-11-19 四川虹微技术有限公司 Method for decoding number of non-zero coefficient and number tailing coefficient
CN101370138A (en) * 2007-08-17 2009-02-18 中国科学院计算技术研究所 A Decoding Method of H.264 Standard CAVLC Residual Coefficients
CN102355578A (en) * 2011-05-25 2012-02-15 深圳市融创天下科技股份有限公司 Entropy decoding method and device

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1913638A (en) * 2005-08-09 2007-02-14 C&S技术有限公司 H.264 decoding method for fast CAVLC
CN101370138A (en) * 2007-08-17 2009-02-18 中国科学院计算技术研究所 A Decoding Method of H.264 Standard CAVLC Residual Coefficients
CN101309423A (en) * 2008-06-26 2008-11-19 四川虹微技术有限公司 Method for decoding number of non-zero coefficient and number tailing coefficient
CN102355578A (en) * 2011-05-25 2012-02-15 深圳市融创天下科技股份有限公司 Entropy decoding method and device

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
宋娜: "一种改进的CAVLC解码优化算法", 《莆田学院学报》 *
黄明政: "一种基于CAVLC解码的快速码表查找算法", 《计算机工程》 *

Similar Documents

Publication Publication Date Title
JP5149444B2 (en) Decoding system and method
RU2586639C2 (en) Method and apparatus encoding or decoding
CN101600104B (en) Decoding unit and decoding method of context-adaptive binary arithmetic coding
TWI360956B (en) Cabac decoding apparatus and decoding method there
JP5881747B2 (en) Coding and decoding method and apparatus for transform coefficient
CN103339959A (en) Dynamic video switching
CN103546239B (en) Blind test system and blind test method for LTE (long term evolution) downlink control channel
KR101848192B1 (en) System and method for conserving power consumption in a memory system
WO2012159295A1 (en) Entropy decoding method and device
CN102075759A (en) Low-power consumption encoding method for dynamic memory in video decoding application
CN103384329A (en) CAVLC decoding method based on no code table lookup
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
TWI690168B (en) Convolutional code decoder and convolutional code decoding method
TWI681639B (en) Convolutional code decoder and convolutional code decoding method
CN101267559A (en) General entropy decoding method and device for video decoder
CN102857242B (en) Tail-biting convolutional code interpretation method and device
CN1331360C (en) Method for decoding codes in variable lengths
CN101707484B (en) Fast exp-Golomb decoding method suitable to be implemented by hardware
CN102638277B (en) Tail-biting convolutional code decoding method and device
CN102843562B (en) A kind of method of the fault-tolerant entropy code that divides into groups
CN103533360B (en) A kind of AVS coding chip is optimized the method that code table stores
Tsai et al. A novel design of CAVLC decoder with low power and high throughput considerations
CN104301725A (en) A CAVLD Method Based on Index Search
CN102148971A (en) Method of designing high-performance low-power consumption CAVLC decoder
CN101188753B (en) A table structure for video entropy decoding search and corresponding decoding method

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

Application publication date: 20131106

RJ01 Rejection of invention patent application after publication