CN103533360A - 一种avs编码芯片中优化码表存储的方法 - Google Patents
一种avs编码芯片中优化码表存储的方法 Download PDFInfo
- Publication number
- CN103533360A CN103533360A CN201310492459.3A CN201310492459A CN103533360A CN 103533360 A CN103533360 A CN 103533360A CN 201310492459 A CN201310492459 A CN 201310492459A CN 103533360 A CN103533360 A CN 103533360A
- Authority
- CN
- China
- Prior art keywords
- run
- level
- codenum
- input
- control
- 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
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明提供一种AVS编码芯片中优化码表存储的方法,本发明中这种存在运算关系的数组(run,level)称为特殊数组,针对于特殊数组所对应的码字codenum将不用存储,而是直接由run或者是level计算得到,在硬件结构采用一个8位的加法器来实现运算。利用本发明所述的优化码表存储的方法能有效减少存储码表所需要的资源,有利于AVS编码芯片的实现。由于在AVS编码中需要查询大量的码表,码表的存储要占用大量的存储资源,采用该方案可以有效的减少存储码表所占用的资源。由于AVS产业化不断加快,AVS编码芯片应运而生,采用该发明,可以更有效的利用芯片的存储资源,有利于提高AVS编码芯片的性能。
Description
技术领域:
本发明涉及一种AVS编码芯片中优化码表存储的方法,属于多媒体的技术领域。
背景技术:
随着多媒体技术的发展,人们对多媒体视频的压缩要求越来越高,新的视频编码标准应运而生。AVS是我国自主开发的先进视频编码标准,随着AVS标准的日趋完善以及国家层面的大力推广,AVS标准产业化进程大大加快,熵编码作为整个AVS视频编码的最后一级,其运算复杂,占用的芯片资源较多,因此熵编码模块的很大程度上影响着AVS编码芯片的性能。
码字查找是熵编码模块重要的一部分,AVS预测残差系数首先经过整数DCT变换和量化,量化后的输出是一个包含少数非零系数和大量的零系数的稀疏矩阵,为了对稀疏矩阵进行有效的表示,稀疏矩阵通过zig-zag扫描和重排序,得到(run,level)数组,其中level表示的是稀疏矩阵中的非零系数,run表示的是每个level之前零的个数,然后对(run,level)进行码字查找,在AVS标准中共有19张码表,AVS编码要存储这19张码表需要耗费大量的存储资源,这对于AVS编码芯片的实现是一个非常大的挑战。因此如何减少存储码表所需要的资源,对于AVS编码芯片相当重要。
发明内容:
发明概述:
针对现有技术的不足,本发明提供一种AVS编码芯片中优化码表存储的方法。利用该方法,有效减少AVS编码中存储码表所需要的资源,有利于AVS编码芯片的实现。
在本发明所述的码表中,以码表号tablenum区分各种码表,每张码表中包括run和level的任意组合对应一个码字codenum,该对应关系信息以码表的形式存在。现有正常情况下,在单张码表中,一个数组(run,level)对应一个码字codenum,每个码字codenum都需要存储。经过统计,在所述的码表中有些codenum和(run,level)存在以下运算关系:
codenum=run+run;codenum=run+run+1;codenum=run+run-1;codenum=run+run+2;codenum=level+level;codenum=level+level+1;codenum=level+level-1;或codenum=level+level+2;
而且符合上述关系的码字在码表中所占的比例达到32.7%,在本发明中这种存在如上述运算关系的数组(run,level)称为特殊数组,针对于特殊数组所对应的码字codenum将不用存储,而是直接由run或者是level计算得到,在硬件结构采用一个8位的加法器来实现运算。利用本发明所述的优化码表存储的方法能有效减少存储码表所需要的资源,有利于AVS编码芯片的实现。
发明详述:
本发明的技术方案如下:
一种AVS编码芯片中优化码表存储的方法,包括步骤如下:
(1)统计码表中符合以下运算关系的特殊数组(run,level):
codenum=run+run;codenum=run+run+1;codenum=run+run-1;
codenum=run+run+2;codenum=level+level;codenum=level+level+1;
codenum=level+level-1;或codenum=level+level+2;
(2)将信号输入的数组(run,level)和码表号tablenum输入到判断逻辑模块,判断逻辑模块根据步骤(1)的统计,判断输入的数组(run,level)是否为特殊数组:给出标志信号flag和控制信号control[2:0];
其中,当标志信号flag为0时,则表示数组(run,level)不是特殊数组,码字codenum将通过查表逻辑模块得到,查表逻辑模块将不属于特殊数组的(run,level)所对应的码字,按照码表号tablenum顺序依次存储。图4中addr表示存储器地址,codenum表示要存储的码字;当标志信号flag为1时,则表示数组(run,level)是特殊数组,码字codenum将通过加法逻辑模块得到;
其中,所述控制信号control[2:0]为三位控制信号,其包括control[0]和control[2:1],所述control[0]为控制信号的最低位,所述control[2:1]为控制信号的高两位;所述控制信号control[2:0]决定码字codenum与数组(run,level)的具体对应关系;
(3)所述的加法逻辑模块包括选择器MUX0、选择器MUX1和加法器,选择器MUX0根据控制信号control[2:0]的最低位control[0]选择run或level输入加法器:
当control[0]为0时,则表示输入到加法器中的是run;当control[0]为1时,则表示输入到加法器中的是level;
(4)选择器MUX1根据根据控制信号control[2:0]的高两位control[2:1]对应将“0,1,-1,2”输入到加法器中:
当control[2:1]为00时,则输入加法器的值为0;
当control[2:1]为01时,则输入加法器的值为1;
当control[2:1]为10时,则输入加法器的值为-1;
当control[2:1]为11时,则输入加法器的值为2;
(5)所述加法器根据选择器MUX0和选择器MUX1分别输入值,对应执行以下运算:
当输入为run和0时,则加法器执行codenum=run+run;
当输入为run和1时,则加法器执行codenum=run+run+1;
当输入为run和-1时,则加法器执行codenum=run+run-1;
当输入为run和2时,则加法器执行codenum=run+run+2;
当输入为level和0时,则加法器执行codenum=level+level;
当输入为level和1时,则加法器执行codenum=level+level+1;
当输入为level和-1时,则加法器执行codenum=level+level-1;
当输入为level和2时,则加法器执行codenum=level+level+2。
本发明的优势如下:
1、由于在AVS编码中需要查询大量的码表,码表的存储要占用大量的存储资源,采用该方案可以有效的减少存储码表所占用的资源。
2、由于AVS产业化不断加快,AVS编码芯片应运而生,采用该发明,可以更有效的利用芯片的存储资源,有利于提高AVS编码芯片的性能。
附图说明:
图1是本发明的整体实现框图;
图2是本发明的加法逻辑模块的硬件结构图;
图3是本发明的选择器MUX1根据控制信号高两位control[2:1]向加法器输入的对应数值表;
图4是本发明的查表逻辑模块的结构图。
具体实施方式:
下面结合附图和实施例对本发明作进一步的说明,但不限于此。
实施例、
如图1-4所示。
一种AVS编码芯片中优化码表存储的方法,包括步骤如下:
(1)统计码表中符合以下运算关系的特殊数组(run,level):
codenum=run+run;codenum=run+run+1;codenum=run+run-1;
codenum=run+run+2;codenum=level+level;codenum=level+level+1;
codenum=level+level-1;或codenum=level+level+2;
(2)将信号输入的数组(run,level)和码表号tablenum输入到判断逻辑模块,判断逻辑模块根据步骤(1)的统计,判断输入的数组(run,level)是否为特殊数组:给出标志信号flag和控制信号control[2:0];
其中,当标志信号flag为0时,则表示数组(run,level)不是特殊数组,码字codenum将通过查表逻辑模块得到,查表逻辑模块将不属于特殊数组的(run,level)所对应的码字,按照码表号tablenum顺序依次存储。图4中addr表示存储器地址,codenum表示要存储的码字;当标志信号flag为1时,则表示数组(run,level)是特殊数组,码字codenum将通过加法逻辑模块得到;
其中,所述控制信号control[2:0]为三位控制信号,其包括control[0]和control[2:1],所述control[0]为控制信号的最低位,所述control[2:1]为控制信号的高两位;所述控制信号control[2:0]决定码字codenum与数组(run,level)的具体对应关系;
(3)所述的加法逻辑模块包括选择器MUX0、选择器MUX1和加法器,选择器MUX0根据控制信号control[2:0]的最低位control[0]选择run或level输入加法器:
当control[0]为0时,则表示输入到加法器中的是run;当control[0]为1时,则表示输入到加法器中的是level;
(4)选择器MUX1根据根据控制信号control[2:0]的高两位control[2:1]对应将“0,1,-1,2”输入到加法器中:
当control[2:1]为00时,则输入加法器的值为0;
当control[2:1]为01时,则输入加法器的值为1;
当control[2:1]为10时,则输入加法器的值为-1;
当control[2:1]为11时,则输入加法器的值为2;
(5)所述加法器根据选择器MUX0和选择器MUX1分别输入值,对应执行以下运算:
当输入为run和0时,则加法器执行codenum=run+run;
当输入为run和1时,则加法器执行codenum=run+run+1;
当输入为run和-1时,则加法器执行codenum=run+run-1;
当输入为run和2时,则加法器执行codenum=run+run+2;
当输入为level和0时,则加法器执行codenum=level+level;
当输入为level和1时,则加法器执行codenum=level+level+1;
当输入为level和-1时,则加法器执行codenum=level+level-1;
当输入为level和2时,则加法器执行codenum=level+level+2。
Claims (1)
1.一种AVS编码芯片中优化码表存储的方法,包括步骤如下:
(1)统计码表中符合以下运算关系的特殊数组(run,level):
codenum=run+run;codenum=run+run+1;codenum=run+run-1;
codenum=run+run+2;codenum=level+level;codenum=level+level+1;
codenum=level+level-1;或codenum=level+level+2;
(2)将信号输入的数组(run,level)和码表号tablenum输入到判断逻辑模块,判断逻辑模块根据步骤(1)的统计,判断输入的数组(run,level)是否为特殊数组:给出标志信号flag和控制信号control[2:0];
其中,当标志信号flag为0时,则表示数组(run,level)不是特殊数组,码字codenum将通过查表逻辑模块得到;当标志信号flag为1时,则表示数组(run,level)是特殊数组,码字codenum将通过加法逻辑模块得到;
其中,所述控制信号control[2:0]为三位控制信号,其包括control[0]和control[2:1],所述control[0]为控制信号的最低位,所述control[2:1]为控制信号的高两位;所述控制信号control[2:0]决定码字codenum与数组(run,level)的具体对应关系;
(3)所述的加法逻辑模块包括选择器MUX0、选择器MUX1和加法器,选择器MUX0根据控制信号control[2:0]的最低位control[0]选择run或level输入加法器:
当control[0]为0时,则表示输入到加法器中的是run;当control[0]为1时,则表示输入到加法器中的是level;
(4)选择器MUX1根据根据控制信号control[2:0]的高两位control[2:1]对应将“0,1,-1,2”输入到加法器中:
当control[2:1]为00时,则输入加法器的值为0;
当control[2:1]为01时,则输入加法器的值为1;
当control[2:1]为10时,则输入加法器的值为-1;
当control[2:1]为11时,则输入加法器的值为2;
(5)所述加法器根据选择器MUX0和选择器MUX1分别输入值,对应执行以下运算:
当输入为run和0时,则加法器执行codenum=run+run;
当输入为run和1时,则加法器执行codenum=run+run+1;
当输入为run和-1时,则加法器执行codenum=run+run-1;
当输入为run和2时,则加法器执行codenum=run+run+2;
当输入为level和0时,则加法器执行codenum=level+level;
当输入为level和1时,则加法器执行codenum=level+level+1;
当输入为level和-1时,则加法器执行codenum=level+level-1;
当输入为level和2时,则加法器执行codenum=level+level+2。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310492459.3A CN103533360B (zh) | 2013-10-19 | 2013-10-19 | 一种avs编码芯片中优化码表存储的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310492459.3A CN103533360B (zh) | 2013-10-19 | 2013-10-19 | 一种avs编码芯片中优化码表存储的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103533360A true CN103533360A (zh) | 2014-01-22 |
CN103533360B CN103533360B (zh) | 2016-06-08 |
Family
ID=49934975
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310492459.3A Expired - Fee Related CN103533360B (zh) | 2013-10-19 | 2013-10-19 | 一种avs编码芯片中优化码表存储的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103533360B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006148729A (ja) * | 2004-11-24 | 2006-06-08 | Victor Co Of Japan Ltd | 動画像復号装置及び動画像復号プログラム |
US20080204287A1 (en) * | 2006-05-19 | 2008-08-28 | Nvidia Corporation | Optimization of decoder memory usage for vlc tables |
CN102355578A (zh) * | 2011-05-25 | 2012-02-15 | 深圳市融创天下科技股份有限公司 | 一种熵解码方法、装置 |
CN102413324A (zh) * | 2010-09-20 | 2012-04-11 | 联合信源数字音视频技术(北京)有限公司 | 预编码码表优化方法与预编码方法 |
CN103108176A (zh) * | 2011-11-09 | 2013-05-15 | 深圳市德赛微电子技术有限公司 | Avs和mpeg-2双模解码器中熵解码结构 |
CN103188486A (zh) * | 2011-12-28 | 2013-07-03 | 联芯科技有限公司 | H.263视频编码的可变长编码方法和系统 |
-
2013
- 2013-10-19 CN CN201310492459.3A patent/CN103533360B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006148729A (ja) * | 2004-11-24 | 2006-06-08 | Victor Co Of Japan Ltd | 動画像復号装置及び動画像復号プログラム |
US20080204287A1 (en) * | 2006-05-19 | 2008-08-28 | Nvidia Corporation | Optimization of decoder memory usage for vlc tables |
CN102413324A (zh) * | 2010-09-20 | 2012-04-11 | 联合信源数字音视频技术(北京)有限公司 | 预编码码表优化方法与预编码方法 |
CN102355578A (zh) * | 2011-05-25 | 2012-02-15 | 深圳市融创天下科技股份有限公司 | 一种熵解码方法、装置 |
CN103108176A (zh) * | 2011-11-09 | 2013-05-15 | 深圳市德赛微电子技术有限公司 | Avs和mpeg-2双模解码器中熵解码结构 |
CN103188486A (zh) * | 2011-12-28 | 2013-07-03 | 联芯科技有限公司 | H.263视频编码的可变长编码方法和系统 |
Non-Patent Citations (2)
Title |
---|
LONG XU, LEI DENG, XIANGYANG JI, XIAOMING PENG AND WEN GAO: ""Hardware Architecture for AVS Entropy Encoder"", 《IEEE TRANSACTIONS ON CONSUMER ELECTRONICS》 * |
黄玄,陈杰,李霞,周莉: ""AVS高清视频变长码解码器算法与电路实现"", 《微电子学与计算机》 * |
Also Published As
Publication number | Publication date |
---|---|
CN103533360B (zh) | 2016-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9632937B2 (en) | Pre-decoding analysis based configuration information cache management method and system | |
CN102521299B (zh) | 资源描述框架数据的处理方法 | |
WO2015051685A1 (zh) | 一种任务调度方法、装置及系统 | |
CN106802772A (zh) | 数据回收的方法、装置及固态硬盘 | |
CN107346170A (zh) | 一种fpga异构计算加速系统及方法 | |
CN108764458B (zh) | 一种减少移动设备存储空间消耗以及计算量的方法及系统 | |
CN105120276A (zh) | 自适应Motion JPEG编码方法和系统 | |
KR20230159597A (ko) | 포인트 클라우드 처리 방법, 디코딩 처리 방법 및 관련 장치 | |
CN111787325B (zh) | 一种熵编码器及其编码方法 | |
CN108319604B (zh) | 一种hive中大小表关联的优化方法 | |
CN103533360B (zh) | 一种avs编码芯片中优化码表存储的方法 | |
US10579308B2 (en) | Hardware system for data conversion and storage device | |
CN115982436A (zh) | 一种流数据的高效检索、压缩系统及压缩方法 | |
CN202995701U (zh) | 基于预先解码分析的数据信息缓存管理系统 | |
CN107623524B (zh) | 一种基于硬件的Huffman编码方法及系统 | |
CN104683806A (zh) | 基于深度流水的mq算术编码器高速fpga实现方法 | |
CN102201817A (zh) | 基于存储器折叠架构优化的低功耗ldpc译码器 | |
CN105933704B (zh) | 一种基于Huffman解码的方法和装置 | |
CN104182909A (zh) | 一种水电系统优化调度的多核并行逐次逼近方法 | |
CN113900622A (zh) | 一种基于fpga的数据信息快速排序方法、系统、设备及存储介质 | |
CN202995712U (zh) | 基于预先解码分析的配置信息缓存管理系统 | |
CN201966895U (zh) | 一种jpeg霍夫曼解码电路 | |
Wang et al. | JPEG image compression algorithm analysis and local optimization | |
Wang et al. | Hardware architecture design of HEVC entropy decoding | |
CN103761074B (zh) | 一种流水结构定点fft字长配置方法 |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160608 Termination date: 20161019 |
|
CF01 | Termination of patent right due to non-payment of annual fee |