一种基于哈希表查找的CAVLD方法技术

技术编号:10617407 阅读:173 留言:0更新日期:2014-11-06 11:46
本发明专利技术公开了一种基于哈希表查找的CAVLD方法,包括以下步骤:S1、根据语法元素NC的取值范围,选取对应元素对应的可变长码表;S2、读入数,利用哈希表查找技术在建立的哈希表查找得到对应码字后缀长度;S4、如果通过哈希表查找到的码字后缀长度具有惟一值,则根据公式:码长=码字后缀长度+码字前缀0的个数+1,直接确定码长;如果通过哈希表查找到的码字后缀长度存在有2个可能值,则需要再次再读取1位位流并判断其值即可确定码长;S5、根据确定码长查找标准codtab()码表可得到解码输出输入码流,并计算输入码流中连续前缀0的个数;S3、根据码字前缀0的个。本发明专利技术可减少TLSS内存消耗,加快查表速度,节约码表存储空间,从而大大提高CAVLD中码查找性能。

【技术实现步骤摘要】
【专利摘要】本专利技术公开了一种基于哈希表查找的CAVLD方法,包括以下步骤:S1、根据语法元素NC的取值范围,选取对应元素对应的可变长码表;S2、读入数,利用哈希表查找技术在建立的哈希表查找得到对应码字后缀长度;S4、如果通过哈希表查找到的码字后缀长度具有惟一值,则根据公式:码长=码字后缀长度+码字前缀0的个数+1,直接确定码长;如果通过哈希表查找到的码字后缀长度存在有2个可能值,则需要再次再读取1位位流并判断其值即可确定码长;S5、根据确定码长查找标准codtab()码表可得到解码输出输入码流,并计算输入码流中连续前缀0的个数;S3、根据码字前缀0的个。本专利技术可减少TLSS内存消耗,加快查表速度,节约码表存储空间,从而大大提高CAVLD中码查找性能。【专利说明】—种基于哈希表查找的CAVLD方法
本专利技术涉及一种基于哈希表查找的CAVLD方法。
技术介绍
H.264/AVC 是由 ITU-VCEG (Internat1nal Telecommunicat1ns Un1nTelecommunicat1n)国际电信联盟视频编码专家组和IS0/IEC ( Internat1nalOrganizat1n for Standardizat1n / Internat1nal Electrotechnical Commiss1n)国际标准化组织、国际电工技术委员会共同制定的一种比较先进的关于视频压缩编码的国际标准。由于它具有高效率的编码压缩性能、友好网络的接口和在较小带宽上能提供高质量视频图像传输的特点,因而在移动视频通信和图像存储压缩等领域得到了广泛的应用,被普遍认为是最有影响力的行业标准。CAVLD (Adaptive Variable Length Decoding)是 H.264/AVC标准中一种常见编码熵解码方式,由于它可以根据视频流的不同在多组结构不同的码表中进行动态的切换,进而实现大大提高视频编码效率和质量目的。然而,CAVLD在提高视频编码效率和质量同时,但因其频繁地查找VLTs (Variable Length Tables),因而消耗了视频解码器大量的功耗,所以说,H.264/AVC高性能的获得是以增加其解码器功耗为代价的。 众所周知,频繁进行表查找操作会消耗大量内存和查找时间,进而产生一个大的功耗消耗。然而在标准H.264/AVC中,CAVLD需要去解码五个语法元素:Coeff_token,Tls,Level, Run_before 和 Total_zeros。其中解码 Coeff_token, Run_before 和 Total_zeros三个语法元素需要频繁查找可变长码表解码,因此CAVLD中码查找花费了 H.264/AVC视频解码器大量内存和查找时间,进而消耗其大量的功耗。所以如何在CAVLD减少频繁的码表查找操作,进而去减少查找可变长码表时的内存消耗和时间,节约解码器的功耗,成为我们当前关注的一个重要问题。针对上述这个问题,已有一些学者开展了一些研究并提出了一些很有价值解决方案。 在硬件设计方面,宋娜等人提出使用Verilog HDL技术实现了 CAVLD解码器,用简单的加法操作实现耗时的查表操作,提高了解码速度。Heng等人提出一种组合所有码表成一张码表,然后再利用子码表的形式进行组织和查找这张码表的方法;Lee等人提出一种利用流水线的结构实现常规操作方法;Wang等人设计出一种低功耗高性能的新型解码器去提高CAVLD整体解码性能;Fang等人则提出利用CMOS和FPGA技术联合作用共同去提高CAVLD解码性能。在软件设计部分,一种基于二叉树表查找通用方法被提出去提高CAVLD解码查表时间性能,但由于它获取内存存在一些不确定性,导致这种方法在一些系统中并不是十分有效。李芬等人提出根据码字前缀的不同划分码表,缩小了查表的范围,减少对整个码表的遍历实现减少长码字解码的时间。Moon等人提出利用整数算术运算符去实现Run_before和Total_zeros元素的码表查找方法,从而可大大减少CAVLD解码查表时内存和时间的消耗;Lu等人提出一种新熵解码算法,可提高75.1%-82.7%解码时间。Lee等人则提出一种新的码表结构和新查表方法,以极大减少解码查表时内存消耗和提高解码查表速度。Kim等人提出利用基于整数算术运算符的方法实现了除了 Coeff_token和Run_before元素外的其它元素表查找方法,从而大大节省查表内存消耗和减少查表时间。韩晶晶等人提出把CAVLD码表进行划分为区域,精确查表范围,再进行熵解码的查表过程优化方法。Uchihara等人针对CAVLD中level编码变动问题,提出了一种快速变动方法,此方法能够减少70%的CAVLD幅值变动消耗能量.针对软件CAVLC解码器结构,Uchihara等人又提出一种基于幅值长度提取方法,所提方法能够提高22%解码器速度。 本专利技术主要针对当前H.264/AVC标准中CAVLD过程中TLSS在查找码表时存在占用内存大,花费查表时间长,消耗码表存储空间多的问题,提出了一种基于哈希表查找的CAVLD方法,在码表查找过程中使用了哈希表查找技术,减少了码字后缀和码长的查找操作次数,节约了查找码表时内存消耗和查找时间,进而节省了 CAVLD中功耗。本专利技术改进了标准CAVLD中TLSS方法,对现有的CAVLD中查表技术做了扩展,大大提高了 CAVLD解码性能,使其能够适合于移动环境下具有小面积,低功耗和快反应的嵌入式产品解码需求。 上述论述内容目的在于向读者介绍可能与下面将被描述和/或主张的本专利技术的各个方面相关的技术的各个方面,相信该论述内容有助于为读者提供背景信息,以有利于更好地理解本专利技术的各个方面,因此,应了解是以这个角度来阅读这些论述,而不是承认现有技术。
技术实现思路
本专利技术主要针对当前标准CAVLD过程中TLSS方法在查表时存在大的内存,长的查表时间,高的表存储空间的问题,提出了一种基于哈希表查找的CAVLD方法,改进了当前标准的CAVLD中码表查找方法,扩展了现有CAVLD中表查表技术,大大提高了 H.264/AVC中CAVLD性能。 本专利技术的目的通过以下技术方案实现:提供一种基于哈希表查找的CAVLD方法,包括以下处理步骤:51、根据语法元素NC的取值范围,选取对应元素对应的可变长码表;52、读入输入码流,并计算输入码流中连续前缀O的个数;53、根据码字前缀O的个数,利用哈希表查找技术在建立的哈希表查找得到对应码字后缀长度;54、如果通过哈希表查找到的码字后缀长度具有惟一值,则根据公式:码长=码字后缀长度+码字前缀O的个数+1,直接确定码长;如果通过哈希表查找到的码字后缀长度存在有2个可能值,则需要再次再读取I位位流并判断其值即可确定码长;55、根据确定码长查找标准codtab()码表可得到解码输出。 其中,在步骤SI 中,语法兀素对应为 Coeff_token, Run_before 和 Total_zeros,可根据不同NC的取值范围选取不同的可变长码表。 其中,在步骤S3中,哈希表依据码字前缀O的个数和码字后缀长度关系建立,其存储元素为码字前缀O的个数和码字后本文档来自技高网
...

【技术保护点】
一种基于哈希表查找的CAVLD方法,其特征在于:包括以下处理步骤:S1、根据语法元素NC的取值范围,选取对应元素对应的可变长码表;S2、读入输入码流,并计算输入码流中连续前缀0的个数;S3、根据码字前缀0的个数,利用哈希表查找技术在建立的哈希表查找得到对应码字后缀长度;S4、如果通过哈希表查找到的码字后缀长度具有惟一值,则根据公式:码长=码字后缀长度+码字前缀0的个数+1,直接确定码长;如果通过哈希表查找到的码字后缀长度存在有2个可能值,则需要再次再读取1位位流并判断其值即可确定码长;S5、根据确定码长查找标准codtab()码表可得到解码输出。

【技术特征摘要】

【专利技术属性】
技术研发人员:韩一石王建华闵智旋罗志霄覃新宇孙运龙
申请(专利权)人:广东工业大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1