关键词:
多标准解码器(精选三篇)
多标准解码器 篇1
AVS是我国第一个具有自主知识产权的数字音视频编解码技术标准,具有高效、技术方案简洁、芯片实现复杂度低、系统级兼容性好、许可费低等优势。熵解码是AVS解码器中的关键技术,它完成码流解析的功能,即把码流中的每个位解析成有意义的码字,供整个解码器使用,因此熵解码器模块的性能好坏对于整个AVS解码器十分重要。
目前,国内外学者对VLC和CAVLC解码硬件进行了深入的研究[1,2,3,4,5]。如Wu Di,Gao Wen[2]提出了一种优先级编码器检测码字的长度,有效地降低了解码器结构的复杂度。Sheng Bin[3]通过简化查找表的表项,使查找表的速度大大提高。
2 指数哥伦布码
指数哥伦布码的比特串分为前缀和后缀[2]。前缀由leadingZeroBits个连续的0和1个1构成。后缀由leadingZeroBits+k bit构成,即xi串,xi的值为0或1。
AVS标准规定解析k阶指数哥伦布码时,首先从比特流的当前位置开始寻找第一个非零比特,并将找到的零比特个数记为leadingZeroBits,然后计算CodeNum。用伪代码描述如下:
因此根据码字结构及该公式,如果码字的第一个1前面的0的个数leadingZeroBits为M,当阶数为k时,码长L为2×M+1+k,CodeNum值为码字值减去2k。
3 AVS熵解码器设计
3.1 AVS熵解码器的结构设计
笔者提出了一种高效简洁的熵解码系统结构,见图1。FIFO模块为整个熵解码器提供解码数据,是一个同步的位宽为32、深度为8的先进先出数据缓冲器,输入来自待解码数据流,输出送入寄存器R0。寄存器R0,R1为32位寄存器,它们共同作为桶形移位器的64位输入,为桶形移位器提供移位数据。桶形移位器则在每个时钟移掉上一次已经解掉的码流,要移掉的位数则由累加器提供,桶形移位器移位后把后面码流的前32位作为输出送给计算码长模块和CodeNum计算模块,这32位其中就包括下一个要解的码。累加器模块用于累加每个时钟所解码流的位数,累加结果作为桶形移位器的移位数,当累加的结果超过32位时即产生一个进位标志信号,让桶形移位器从R1接收新的32位数据,同时R0从FIFO读取新的32位数据,从而达到码流快速更新的目的。码长计算模块用于计算每次要解码流的位数,该模块一方面作为累加器的码长累加输入,另一方面作为CodeNum计算模块的输入。通过分析指数哥伦布码,根据码流特点可确定出码长计算公式为L=2×M+1+k,在该模块内部包含一个采用并行结构的首1检测器,该检测器用于检测出第一个1前面的0的个数M,根据指数哥伦布码的特点,M不会超过15,因此该首1检测器一次性只需读入码流的前16位,通过比较器的并行比较,确定出码长,从而摆脱了码字结构的限制,提高了解码速度。CodeNum计算模块为下面的ue(v),se(v),me(v),ce(v)各解语法元素模块提供CodeNum数据,其内部包含一个右移位器,用于移掉32位中不是当前码流的部分,即移掉32-L位,然后再根据码流特点所确定计算出CodeNum值。计算阶数模块利用查找表快速确定语法元素的阶数,当ue(v),se(v),me(v)语法元素模块的使能信号有效时,计算阶数模块利用查找表可确定出阶数k为0。对于ce(v)语法元素模块,一共19张码表,每张码表对应确定的阶数,其对应关系如表1。
3.2 AVS熵解码器的各解语法元素模块设计
ue(v)语法元素模块根据标准解析ue(v)语法元素的值等于CodeNum解出ue(v)语法元素的值。
se(v)语法元素模块根据表2给出的有符号指数哥伦布码的映射关系求语法元素的值。
me(v)语法元素模块分为4∶2∶0格式和4∶2∶2格式,每一种格式下各有一张映射码表,MbCBP与CodeNum的映射关系和MbCBP422与CodeNum的映射关系,根据他们之间的映射关系可求出MbCBP和MbCBP422的值。
对于逃逸码的处理在整个系统中增加了一级trans_coefficient或escape_level_diff判断模块,即根据CodeNum值大小,如果CodeNum<59,则ce(v)语法元素模块按照正常方法解码,即trans_coefficient等于CodeNum用于查找表相应(Run,Level)值;如果CodeNum≥59,则ce(v)语法元素模块按照解逃逸码的方法解码,即下一个要解的码为逃逸码,解析下一个ce(v)语法元素,得到一个新的CodeNum,escape_level_diff等于CodeNum。并且Run=(trans_coefficient-59)/2;对于求Level数组,如果trans_coefficient是奇数,则Level=-(RefAbsLevel+escape_level_diff);否则Level=(RefAbsLevel+escape_level_diff),其中RefAbsLevel亦根据相应的映射关系查找表求得。对于解ce(v)语法元素模块,其中又分为解帧内预测编码块,解帧间预测编码块,解色度预测编码块。输入为前面解出的CodeNum值以及控制使能信号,控制使能信号控制当前解哪一个模块,输出分为4部分,即要解码的(Run,Level)对,返回给计算阶数模块的信号用于确定阶数以及当前块解码结束信号。ce(v)语法元素模块内部结构如图2所示。
各模块的实现利用状态机实现其内部各码表的选择,这里以ce(v)语法元素intra模块的状态转换图为例如图3。
对于码表选择的状态机实现算法为每一次块解码时都从VLC0码表开始,并且maxAbsLevel=0,根据解出的Level值,求其绝对值absLevel,码表切换的状态转换条件如下:如果absLevel>maxAbsLevel,则maxAbsLevel=absLevel,并且如果absLevel=1,选择CurrentVLCTable=VLC1_Intra;如果absLevel=2,选择CurrentVLCTable=VLC2_Intra;如果absLevel=3或4,选择CurrentVLCTable=VLC3_Intra;如果absLevel=5,6或7,选择CurrentVLCTable=VLC4_Intra;如果absLevel=8,9或10,选择CurrentVLCTable=VLC5_Intra;如果absLevel>10,选择CurrentVLCTable=VLC6_Intra。如果absLevel
3.3 对码表的优化
这里以帧内预测编码块的VLC0_Intra为例。码表见表3。
通过对码表的观察分析可以归纳出:
当trans_coefficient为偶数时:
当trans_coefficient为奇数时:
(n分别为1,2,3,4,5,6,7)
码表中其他少数trans_coefficient值用查找表对应Run,Level值。其他码表也采用了类似的算术方法优化。
4 仿真结果
本设计采用的仿真工具为Synopsys公司的VCS,仿真结果表明功能完全达到设计要求,相关模块的仿真结果见图4和图5。
本设计采用0.25μm CMOS工艺库,用Design Compiler进行综合,面积1.5万门左右,最高频率达到100 MHz,达到实时解码高清AVS码流要求。
摘要:提出了一种基于AVS标准熵解码器的设计方案。采用桶形移位器进行移位,采用并行结构确定码长。采用算术方法对19张码表进行算术优化,从而减小了芯片面积,提高了解码速度。采用Verilog HDL语言进行源代码设计和仿真。在0.25μm CMOS工艺库下,用Design Compiler进行综合,面积为1.5万门左右,最高频率达100MHz,达到实时解码高清AVS码流要求。
关键词:AVS标准,指数哥伦布码,熵解码器
参考文献
[1]数字音视频编码技术标准工作组.GB/T20090.2-2006,信息技术先进音视频编码第2部分:视频[S].2006.
[2]WU Di,GAO Wen,HU Mingzeng,et al.An exp-golomb encoder and decoder architecture for JVT/AVS[EB/OL].[2008-11-20].http://ieeexplore.ieee.org/xpl/freeabs-all.jsp-arnumber=1277358.
[3]BIN Sheng,WEN Gao,DON Xie,et al.An efficient VLSI archi-tecture of VLD for AVS HDTV decoder[J].IEEE Trans.Consumer Electronics,2006,52(2):696-700.
[4]HE Yajun,ZHANG Duoli,SHEN Bin,et al.Implementation of fast Huffman decoding algorithm[C]//Proc.7th International Confer-ence on ASIC.Guilin:IEEE Press,2007:770-773.
情爱解码——要比永远多一天! 篇2
新郎:一个在婚礼上除非不露面,露面即惊人的人。这种人往往在经历从奴隶到将军的光辉历程。
婚姻是爱情的坟墓,但是如果不结婚,爱情就死无葬身之地。
在爱情中,有人"视死如归";在婚姻中,有人“视归如死”。
相亲是“经销”,恋爱是“直销”,征婚是“招标”。
最完美的产品在广告里,最完美的人在悼词里,最完美的爱情在小说里,最完美的婚姻在梦境里。
爱情是一种脑力劳动,婚姻是一种体力劳动。爱情仿佛打桥牌,全靠算计;婚姻仿佛打麻将,全靠运气。
婚姻不是1+1=2,而是0.5+0.5=1。即:两个人各削去自己的个性和缺点,然后凑合在一起。
夫妻俩过日子要像一双筷子:一是谁也离不开谁;二是什么酸甜苦辣都能在一起尝。这种筷子只能是经久耐磨的象牙筷,而不是一次性方便筷。
情如魚水是夫妻双方最高的追求,但是我们都容易犯一个错误,即总认为自己是水,而对方是鱼。
有的女人恋爱时让男友宠着自己,结婚后仍然要老公百般宠着自己,却忘记做为一个女人应该做的份内之事。这样的女人是不懂得爱情的。
多标准解码器 篇3
近年来, 多用户MIMO系统由于其极高的频谱效率而受到广泛的关注。与采用非线性预编码器/译码器的传输策略相比, 基于线性预编码器/译码器的传输方案具有更小的复杂度和更好的灵活性。为了设计最优的线性预编码器/译码器, 一种常用的设计准则是在发射功率受限的条件下最小化和均方误差 (sum-MSE) 。针对MIMO多址接入信道, 文献[1,2]给出了sum-MSE最小的设计方案。然而, 在MIMO下行链路中, 由于各用户信号相互干扰而使得该问题变成难以解决的非线性和非凸性的优化问题。文献[3]指出该问题可以利用运算复杂度很高的优化算法—序列二次规划 (SQP) 算法来解决。针对MISO下行链路, 文献[4]根据上行、下行链路MSE的对偶性, 将非凸的下行问题转化为对偶的上行问题, 通过解凸性的上行问题来最终得到下行问题的最优解。文献[5]将上述算法推广到MIMO下行链路中。上面提出的算法全部都针对系统和功率受限的情况。针对每个用户的发射功率单独受限的情况[3], 提出了一种启发式的联合优化算法。虽然该算法只能收敛到局部最小值, 但在最大空间分集的情况下它能有效地逼近SQP算法的性能。该方法最大的缺陷是:在收、发端满载时系统性能将极度恶化。
针对文献[3]中算法的缺陷, 本文提出了一种新的设计方案。该方案首先将多用户下行信道进行正交化, 然后通过独立地解各个等效单用户MIMO信道中的MMSE问题来获得sum-MSE最小化的近似解。与文献[3]中的算法相比, 本方案不但具有较低的运算复杂度, 而且能极大地提高系统在满载时的性能, 从而有效地增加系统的总吞吐量。
1 系统模型和信道模型
考虑如图1所示的MIMO下行链路系统, Lk×1的数据符号矢量xk经Nt×Lk的预编器Bk线性处理后相互叠加, 然后传送至具有Nt根天线的基站同时发射给k个用户, 每个用户终端配备Nrk根天线。Lk表示同时向用户k传输的并行子数据流的个数。假设各用户的数据符号相互独立且能量为一, 即:其中+表示转置共厄。当每个用户的功率限制为P/K时, 预编码矩阵Bk应满足约束条件:tr (BkB+k) ≤P/K。基站到用户的信道用Nrk×Nt的复数矩阵Hk来表示。在平坦瑞利衰落假设下, Hk的元素是均值为零, 方差为1的独立同分布的复高斯随机变量 (CGRV) , 即Hk (i, j) :CN (0, 1) 。用户k的接收信号矢量经Lk×Nrk维的译码器A+k处理后得到xk的估计值xi
undefined
nk是在用户k处Nrk×1的高斯白噪声矢量, 其中每个元素也是独立同分布的CGRV, 均值为零, 方差为σundefined。nk的相关矩阵为E (nkn+k) =σundefinedINrk。不失一般性, 假设undefinedundefined
2 线性预编码器和译码器的设计
2.1 最优线性预编码器和译码器的设计
为了保证问题的可解性, 首先引入如下两个约束:
undefined
用户k接收信号的均方误差 (MSE) 矩阵可以表示为:
undefined
假设各个用户具有相同的发射功率约束, 则对应的sum-MSE最小化问题可以描述为
undefined
虽然问题 (5) 与单用户MIMO信道中的MSE最小化问题具有类似的形式, 但由于该问题的目标函数是所有用户的预编码器和译码器的非凸性函数, 因此很难得到它的全局最优解。文献[3]中提出的联合优化算法可以中等的复杂度得到该问题的局部最优解, 然而在Lk>1的情况下其性能恶化十分严重。为了进一步减小计算复杂度并改善Lk>1时的系统性能, 本文提出一种新的次优化方案。
2.2 本文提出的设计方案
本文所提出方案的基本思想是:利用信道正交化技术将相互干扰的MIMO下行信道分解成多个独立的等效单用户MIMO信道;然后在每个等效的MIMO信道上利用MMSE准则来设计各个用户的预编码/译码器, 从而得到原问题的近似解。
令Bk预编码器可以写成Bk=VkTk。其中undefined是矩阵undefined的零空间, 即:Vk=nullspace (undefinedk) 。这样就使得HjVk=0 (j≠k) 且式 (1) 可以写成:
undefined
这样一来, 原来相互干扰的MIMO下行链路被分解成K个互不干扰的等效单用户MIMO信道, 其中第k个等效MIMO信道的信道矩阵为undefined。接下来, 就可以通过解K个等效单用户MIMO信道上的MMSE问题来设计Ak和Tk。也就是说, 通过解K个等效的单用户MMSE问题来得到问题 (5) 的近似解。
现在来看等效单用户MIMO信道上的MMSE问题。假设Tk已经确定, 则最优的译码器为线性MMSE接收机:
Aundefined= (HkVkTkT+kV+kH+k+Rnk) -1HkVkTk (7)
将式 (7) 代入式 (4) 并利用矩阵求逆引理[6], MSEk可以重写成:
MSE′k= (ILk+T+kV+kH+kHkVkTk) -1 (8)
因此, 第k个单用户MIMO信道上的MMSE问题可以描述为:
undefinedtr[MSE′k]s.t. tr[TkT+k]≤P/K, k=1, …, K (9)
利用多级注水算法[7]可以得到最优的Tk:
Tundefined=UkΣk (10)
其中, undefined由V+kH+kHkVk的undefined个最大特征值对应的特征向量组成。undefined中除右主对角线位置以外的其余位置都为零。其中,
σundefined= (μundefinedλundefined-λundefined) + (11)
式中, λk, i是V+kH+kHkVk的undefinedk个按升序排列的最大的特征值, μk是满足tr[TkT+k]=P/K的注水电平。式 (11) 就是P/K在λk, i上的多级注水功率分配。
在平坦瑞利衰落和 (2) - (3) 式的假设条件下
根据文献[6], Tundefined将第k个单用户MIMO信道分解成Lk个并行的标量信道:
undefined
式中, wk, i是归一化的白高斯噪声。这样, 第k个单用户MIMO信道上的第i个子数据流的接收信干噪比 (SINR) 为:
将式 (11) 代入 (15) ,
不难发现, 本文提出的方案最终将原来的MIMO下行矢量信道分解成undefined个标量信道。因此, 总的功率P可以在λk, i上进行注水分配。这样的功率分配方式通常为各用户分配不同的发射功率, 得到更小的和MSE。但是, 仿真结果显示, 这样的功率分配与本文提出的方案的差距仅仅在低P时才明显, 当P逐渐增加时它们之间的差距越来越小。
3 仿真结果
在本节中, 比较如下设计方案的性能:
①Joint Optimization:传统的联合优化算法[3]。
②Proposed Sch. (equal power) : 本文提出的基于功率平均分配的设计方案。
③Proposed Sch. (waterfill) :本文提出的基于注水功率分配的设计方案。
为了简单起见, 采用QPSK的调制方式且不考虑信道编码。
假设[Nt, Nrk, K, Lk]=[6, 2, 2, 2], 图2和图3分别比较系统在接收端满载的情况 (Nrk=Lk) 下联合优化算法和本文方案的BER与和MSE性能。由图可见, 正如文献[3]所描述的那样, 联合优化算法在接收端满载时系统性能很差, 而本文提出的方案在发射功率提高时BER与和MSE逐步减小, 虽然在低发射功率区域, 本文的方案要略差于联合优化算法。平均功率分配和注水功率分配的差别并不明显。
假设[Nt, Nrk, K, Lk]=[6, 2, 3, 2], 图4和图5分别比较系统在收、发两端都满载的情况下undefined和Nrk=Lk) 联合优化算法和本文方案的BER与和MSE性能。可以看到, 在总发射功率较低时, 本文的方案略差于传统的联合优化算法, 但当发射功率逐渐增加时本文的方案要远远优于传统的联合优化算法。另外, 注水功率分配要优于平均功率分配, 但是当发射功率逐渐增加时它们之间的差距逐渐减小。
4 结束语
针对多用户MIMO下行链路中的sum-MSE最小化问题, 传统的联合优化算法具有较高的复杂度, 而且当系统满载时性能变差。本文利用信道正交化技术和单用户MMSE算法得到了sum-MSE最小化问题的近似解。仿真结果表明, 在系统满载的情况下本文提出的方案明显优于传统的算法。
摘要:研究多用户MIMO下行链路中最小和均方误差意义下线性预编码器/译码器的设计问题。针对该非线性、非凸性的优化问题, 传统的联合优化算法性能有限且复杂度较高。提出一种新的设计方案。该方案首先利用信道正交化技术将MIMO下行信道分解成多个并行的等效单用户MIMO信道, 然后通过解这些等效MIMO信道上的单用户均方误差最小化问题来获得和均方误差最小问题的近似解。仿真结果显示, 该方案的性能要优于传统的联合优化算法。
关键词:MIMO,线性预编码器/译码器,最小均方误差
参考文献
[1] Jorswiech E, Boche H.Transmission strategies for the MIMO MAC with MMSE receiver: Average MSE optimization and achievable individual MSE region[J].IEEE Trans. On Signal Processing, Special Issue on MIMO Wireless Communication, 2003, 51 (11) :272-2881.
[2]Serbetli S, Yener A.Transceiver optimization for multiuser MIMO sys-tems[J].IEEE Trans.On Signal Processing, 2004, 52 (1) :214-226.
[3]Tenenbaum J, Adve R S.Joint multiuser transmit-receive optimizationusing linear processing[C].IEEE International Conference on Commu-nications, 2004, 1:586-592.
[4]Schubert M, Shi S, Boche H.Downlink sum-MSE transceiver optimiza-tion for linear multi-user MIMO systems[C]//Proc.39th Asilomar Con-ference on Signals, Systems, and Computer, CA USA, Nov.2005.
[5] Khachan A M, Tenenbaum A J, Adve R S.Liner processing for the downlink in multiuser MIMO systems with multiple data streams[C]//IEEE Intl. Conf. on Commun., June. 2006.
[6] Golub G H, Loan C F V.Matrix Compuations[M].3rd ed.Baltimore, MD: John-Hopkins Univ. Press, 1996.