CN102469307B - 解码器及码流解析装置 - Google Patents

解码器及码流解析装置 Download PDF

Info

Publication number
CN102469307B
CN102469307B CN201010541706.0A CN201010541706A CN102469307B CN 102469307 B CN102469307 B CN 102469307B CN 201010541706 A CN201010541706 A CN 201010541706A CN 102469307 B CN102469307 B CN 102469307B
Authority
CN
China
Prior art keywords
group
data
bit
code flow
shift register
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.)
Active
Application number
CN201010541706.0A
Other languages
English (en)
Other versions
CN102469307A (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.)
Allwinner Technology Co Ltd
Original Assignee
Allwinner Technology Co Ltd
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 Allwinner Technology Co Ltd filed Critical Allwinner Technology Co Ltd
Priority to CN201010541706.0A priority Critical patent/CN102469307B/zh
Publication of CN102469307A publication Critical patent/CN102469307A/zh
Application granted granted Critical
Publication of CN102469307B publication Critical patent/CN102469307B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开一种解码器及码流解析装置。该解码器包括内存管理装置和解压缩装置,和连接在内存管理装置和解压缩装置之间的一码流解析装置;所述码流解析装置包括一累加器和一多路选择器;所述累加器,用于根据所述解压缩装置的码流读取请求,产生从所述多路选择器中移位后有效码流数据组的选择信号;并将所述选择信号传输给所述多路选择器,用于控制所述多路选择器的有效码流数据组选择;所述多路选择器,用于根据待解码的码流数据的码流模式,根据所述码流数据中无效比特数目而选取的多位有效码流数据并进行移位重组得到多组有效码流数据组;然后根据所述选择信号,经过选择而输出移位后的一组有效码流数据组到所述解压缩装置。其提供简单高效的码流读取通道。

Description

解码器及码流解析装置
技术领域
本发明涉及一种解码技术领域,尤其涉及关于对音视频压缩码流或者其他数据压缩方法得到的压缩码流的一种解码器及码流解析装置。
背景技术
数据压缩往往采用变长编码,把数据冗余最大程度剔除,因此在解码过程中便会按比特(bit)取出压缩后的数据用来恢复原始数据。但高效的内存管理装置一般不会提供按位读取数据。
数据在存储介质中以各种方式摆放,有些地方为了增强容错性,会有一些特别的处理,如在某些音频CD中,一个16比特的字,只会存放14比特的有效数据,这给解码器带来了很大的不便。
目前比较常见的硬件实现方法都是采用FIFO(First Input First Output,先进先出)缓冲数据,比特数累加器计算当前有效比特,很难处理数据中存在无效比特这种情况。
发明内容
本发明的目的在于提供一种解码器及码流解析装置,其提供简单高效的码流按位读取通道。
为实现本发明目的而提供的一种解码器,包括内存管理装置和解压缩装置,还包括连接在所述内存管理装置和所述解压缩装置之间的一码流解析装置;
所述码流解析装置包括一累加器和一多路选择器;
其中:
所述累加器,用于根据所述解压缩装置的码流读取请求,产生从所述多路选择器中移位后有效码流数据组的选择信号;并将所述选择信号传输给所述多路选择器,用于控制所述多路选择器的有效码流数据组选择;
所述多路选择器,用于根据待解码的码流数据的码流模式,根据所述码流数据中无效比特数目而选取的多位有效码流数据并进行移位重组得到多组有效码流数据组;然后根据所述选择信号,经过选择而输出一组移位后的有效码流数据组到所述解压缩装置。
较优地,所述码流解析装置,还包括移位寄存器组,用于作为从所述内存管理装置中输入的码流数据的暂存装置;
所述码流解析装置还包括一第一缓存器,用于缓存从所述内存管理装置中读入并等待移位寄存器组读取的码流数据;
所述累加器,还用于对所述解压缩装置的发送来的移位数进行累加,当累加结果大于或等于门限值而溢出时,产生移位寄存器组的移位控制信号和从第一缓存器中读取数据的读使能信号;并将移位控制信号传输给移位寄存器组,用于控制移位寄存器组的移位;将读使能信号传输给第一缓存器,用于控制从第一缓存器读取码流数据到移位寄存器组;
所述多路选择器,还用于当累加结果大于或等于门限值而溢出,移位寄存器组的移位后,根据待解码的码流数据的码流模式,重新从所述移位寄存器组中根据码流数据中无效比特数目而选取新的多位有效码流数据并进行移位重组得到多组有效码流数据组,然后根据累加器传送过来的新的选择移位后有效码流数据组的选择信号,经过再次选择而输出一组移位后的有效码流数据组到解压缩装置。
较优地,所述移位寄存器组由4个32位的移位寄存器串联而成,用于作为从内存管理装置中输入的码流数据的4级暂存装置;
所述4个移位寄存器以先进先出方式串联,首一个移位寄存器连接到内存管理装置中,其余三个移位寄存器连接到多路选择器;
所述其余三个移位寄存器,用于暂存需要送入所述多路选择器的码流数据;
所述首一个移位寄存器,用于预取需要送入所述其余三个移位寄存器的码流数据。
较优地,所述码流模式是以32比特数据为字块进行传输的音视频码流数据的码流模式;所述多位有效码流数据是64位有效码流数据;所述多组有效码流数据组是32组有效码流数据组;所述32组有效码流数据组,每组数据组共包括32比特位有效码流数据。
较优地,所述累加器为一5比特二进制累加器;
其输入为根据所述解压缩装置码流读取请求得到的需要移位数,所述移位数经过累加后传输给所述多路选择器作为选择信号,保存累加结果进行下一轮累加数;然后在下一轮接收到新的需要移位数时,进行所接收到的所有移位数的累加,并在当累加结果大于或等于门限值时,产生溢出,溢出后的累加结果作为新的需要移位数作为选择信号传送给所述多路选择器,保存累加结果进行下一轮累加数。
较优地,所述多路选择器分为第一选择单元和第二选择单元共2级选择单元,其中:
第一选择单元,用于根据待解码的码流数据的码流模式从所述移位寄存器组的3个移位寄存器中选出[0:63]总共64比特的有效码流数据,并将64比特码流数据[0:63]分成按从左至右的顺序分成32组,每组32比特的有效码流数据,即[31:00],[32:01],[33:02],…,[63:32]共32组码流数据,其分别相当于64比特有效码流数据分别移位0~31位后得到的移位有效码流数据组;
第二选择单元,用于从第一级输出的64比特码流数据得到的32组,每组32比特的码流数据,即[31:00],[32:01],[33:02],…,[63:32]共32组码流数据中,根据所述累加器传送过来的移位后有效码流数据组的所述选择信号,经过选择而输出32位有效码流数据组到解压缩装置。
较优地,所述码流解析装置,还包括一第二缓存器,用于缓存32比特有效数据;
所述多路选择器的输出连接到所述第二缓存器。
为实现本发明目的还提供一种解码器的码流解析装置,连接在解码器的内存管理装置和解压缩装置之间,包括一累加器和一多路选择器;
其中:
所述累加器,用于根据所述解压缩装置的码流读取请求,产生从所述多路选择器中移位后有效码流数据组的选择信号;并将所述选择信号传输给所述多路选择器,用于控制所述多路选择器的有效码流数据组选择;
所述多路选择器,用于根据待解码的码流数据的码流模式,根据所述码流数据中无效比特数目而选取的多位码流数据并进行移位重组得到多组有效码流数据组;然后根据所述选择信号,经过选择而输出一组移位后的有效码流数据组到所述解压缩装置。
较优地,所述的码流解析装置,还包括移位寄存器组,用于作为从所述内存管理装置中输入的码流数据的暂存装置;
所述解析装置还包括一第一缓存器,用于缓存从所述内存管理装置中读入并等待移位寄存器组读取的码流数据;
所述累加器,还用于对根据所述解压缩装置码流读取请求得到的需要移位数进行累加,当累加结果大于或等于门限值而溢出时,产生移位寄存器组的移位控制信号和从第一缓存器中读取数据的读使能信号;并将移位控制信号传输给移位寄存器组,用于控制移位寄存器组的移位;将读使能信号传输给第一缓存器,用于控制从第一缓存器读取码流数据到移位寄存器组;
所述多路选择器,还用于当累加结果大于或等于门限值而溢出,移位寄存器组的移位后,根据待解码的码流数据的码流模式,重新从所述移位寄存器组中根据码流数据中无效比特数目而选取新的多位码流数据并进行移位重组得到多组有效码流数据组,然后根据累加器传送过来的新的选择移位后有效码流数据组的选择信号,经过再次选择而输出一组移位后的有效码流数据组到解压缩装置。
本发明的有益效果是:本发明的解码器及码流解析装置,既能剔除有规律的无效比特(bit),又能够作为解码器的一部分,有效提供数据的按位读取功能,根据解码要求有效处理其中码流解析部分,为解码器提供一种简单高效的码流按位读取通道,提高了解码器解码的效率。
附图说明
图1是本发明实施例解码器结构示意图;
图2是图1中码流解析装置电路结构示意图;
图3是图1中累加器结构示意图;
图4是图2中多路选择器工作过程示意图;
图5是在音频CD14比特模式下多路选择器中64比特有效码流数据组成示意图;
图6是在音频CD14比特模式下码流数据(Bitstreams Data,BSD)移位9位时多路选择器工作过程示意图;
图7是图6移位9位后再移位27位时多路选择器工作过程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明的解码器及码流解析装置进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1、图2所示,作为一种可实施方式,本发明实施例的解码器,包括内存管理装置1和解压缩装置3,还包括连接在内存管理装置1和解压缩装置3之间的一码流解析装置2;
所述码流解析装置2包括一累加器21和一多路选择器22;
其中:
所述累加器21,用于根据所述解压缩装置3的码流读取请求,产生从多路选择器22中移位后有效码流数据组的选择信号;并将所述选择信号传输给多路选择器22,用于控制多路选择器22的有效码流数据组选择。
所述多路选择器22,用于根据待解码的码流数据的码流模式,根据码流数据中无效比特数目而选取的多位有效码流数据并进行移位重组得到多组有效码流数据组;然后根据所述选择信号,经过选择而输出一组移位后的有效码流数据组到解压缩装置3。
较佳地,如图2所示,所述码流解析装置2,还包括移位寄存器组23,所述移位寄存器组23由4个32位的移位寄存器(3,2,1,0号寄存器)串联而成,用于作为从内存管理装置1中输入的码流数据的4级暂存装置;
所述4个移位寄存器(3,2,1,0号寄存器)以先进先出(FIFO)方式串联,首一个移位寄存器(3号寄存器)连接到内存管理装置1中,其余三个移位寄存器(2,1,0号寄存器)连接到多路选择器22。
其中三个移位寄存器(2,1,0号寄存器),用于暂存需要送入所述多路选择器22的码流数据;
另外一个移位寄存器(3号寄存器),用于预取需要送入三个移位寄存器(2,1,0号寄存器)的码流数据,其是为了提高码流解析装置2的效率而增加的预取寄存器。
较佳地,所述码流解析装置2还包括一码流缓存器24(即第一缓存器),用于缓存从内存管理装置1中读入并等待移位寄存器组23的4个寄存器(3,2,1,0号寄存器)读取的码流数据;所述码流缓存器24连接到首一个寄存器(3号寄存器)。
作为一种可实施方式,所述码流缓存器24由两块SRAM(Static RAM)组成,乒乓使用,配合码流数据的预取,使多路选择器22在需要码流数据的时候基本无需等待时间。
SRAM是英文Static RAM的缩写,它是一种具有静止存取功能的内存,不需要刷新电路即能保存它内部存储的数据。
所述累加器21,还用于对根据所述解压缩装置3码流读取请求得到的需要移位数进行累加,当累加结果大于或等于门限值而溢出时,产生移位寄存器组23的移位控制信号和从码流缓存器24中读取数据的读使能信号;并将移位控制信号传输给移位寄存器组23,用于控制移位寄存器组的移位;将读使能信号传输给码流缓存器24,用于控制从码流缓存器24读取码流数据到移位寄存器组23。
所述多路选择器22,还用于当累加结果大于或等于门限值而溢出,移位寄存器组23的移位后,根据待解码的码流数据的码流模式,重新从所述移位寄存器组23中根据码流数据中无效比特数目而选取新的多位有效码流数据并进行移位重组得到多组有效码流数据组,然后根据累加器21传送过来的新的选择移位后有效码流数据组的选择信号,经过再次选择而输出一组移位后的有效码流数据组到解压缩装置3。
较佳地,作为一种可实施方式,所述码流模式可以是音频CD14比特模式,或者其他以32比特数据为字块进行传输的音视频码流数据的码流模式;
较佳地,作为一种可实施方式,所述多位有效码流数据是64位有效码流数据;所述多组有效码流数据组是32组有效码流数据组;所述32组有效码流数据组,每组数据组共包括32比特位有效码流数据。
所述门限值为32位码流数据块中最大有效比特数。
本发明实施例的码流解析装置2,当累加结果大于或等于门限值而溢出时,表示从第0号寄存器的有效码流开始的移位码流数据已经不能满足移位要求,需要导入3号寄存器的有效码流数据进行移位,因此,产生控制移位寄存器组23的移位控制信号和码流缓存器的读使能信号,使串联(串行)的移位寄存器组23依次左移,并从码流缓存器24中读取一个新的32比特字进行新的移位有效码流数据组。
当累加器21的累加结果超过溢出门限值时将溢出产生进位,累加器21根据溢出标志位控制产生移位寄存器组23的移位控制信号和从码流缓存器24中读取数据的读使能信号;并将移位控制信号传输给移位寄存器组23,用于控制移位寄存器组23的移位;将读使能信号传输给码流缓存器24,用于控制从码流缓存器24读取码流数据到移位寄存器组23。
当累加器21没有溢出时,多路选择器22的选择信号为根据解压缩装置3指示的移位数进行累加后,作为选择移位后有效码流数据组的选择信号;
当累加器21溢出时,多路选择器22的选择信号为根据解压缩装置3指示的移位数进行累加得到的累加值减去门限值,即溢出后累加器中的二进制累加结果,作为选择移位后有效码流数据组的选择信号。
本发明实施例的累加器21根据解码器中解压缩装置3解析按位码流读取的请求,即通过码字解析得到需请求的码流比特数,得到码流数据需要移位数,如解压缩装置解析后得到解压缩装置请求按位读取9位码流数据,即请求的码流比特数为9,则将9作为码流数据需要移位数传送给本发明实施例的码流解析装置的累加器,经累加器21累加后得到所述选择移位后有效码流数据组的选择信号;并在溢出时产生了移位寄存器组23的移位信号和码流的读使能信号,用来控制移位寄存器组23的移位及从码流缓存器24中读取新码流的数据。
通过解码器中解压缩装置3通过码字解析得到需请求的码流比特数,是一种现有技术,因此在本发明实施例中不再一一详细描述。
为了提高内存的访问效率,避免低效率的内存读操作,且为了减少码流移位之后的等待时间,本发明实施例的码流缓存器24先把数据从解码器的内存管理装置1中读入码流缓存器24,等待累加器21的读使能信号后按先进先出(FIFO)的方式选取数据到移位寄存器组23。
本发明实施例的码流缓存器24在累加器21读使能信号控制下,从码流缓存器24中以32比特为单位依次读取码流数据到移位寄存器组23;然后移位寄存器组23在累加器21移位控制信号的控制下,多路选择器22根据码流数据中每32比特中有效比特数目,从移位寄存器组23中选取64比特有效码流数据送入多路选择器22,避免了将码流数据中的无效比特读入解压缩装置3,提高了解压缩装置的解码效率;多路选择器22将接收到的码流数据分为32组32比特的有效码流数据,然后根据累加器21产生的选择信号选择一组32比特的码流数据组送出到解压缩装置3进行解码。
将码流数据在解压缩装置3中进行解码是一种现有技术,因此,在本发明中不再一一详细描述。
累加器21在每次根据所述解压缩装置码流读取请求得到的需要移位数后,根据移位数进行一次累加动作,将原累加器21的结果加上新的移位数,其和更新为累加器21的新结果;当累加新结果大于等于门限值而溢出时,累加器21产生移位控制信号和读使能信号,控制多路选择器22、移位寄存器组23和码流缓存器24移入新的码流数,并根据选择信号,控制多路选择器22选择出一组移位后的32位有效码流数据组。
其中读使能信号和移位控制信号分别输出到码流缓存器24及移位寄存器组23的4个移位寄存器;
当读使能信号有效时,从码流缓存器24中读出一个32位的数据字送入到移位寄存器组23的首个寄存器(3号寄存器);
首先,移位控制信号控制4个移位寄存器的码流数据依次向左移位,即将1号寄存器的码流数据存入0号寄存器,2号寄存器的码流数据存入1号寄存器,3号寄存器的码流数据存入2号寄存器,然后从码流缓存中读入一个32位的数据到寄存器3,如图2所示,最左边为已使用数据,直接移出丢弃。
为了简单剔除无效比特,本发明实施例巧妙地处理了该溢出位,当累加器21累加结果大于或等于门限值(即32位码流数据块中最大有效比特)时,发生溢出,需要读取下一组数据,此时累加器21的当前移位比特数组为当前累加结果减去溢出门限值后的结果。
如普通全有效数据,当累积器21的和大于等于32时,发生溢出,溢出后的累加器21的累加结果作为新的当前移位比特。
对于音频CD14比特模式的时候,当累加器21的和大于等于28时就发生溢出,用当前累加器21的累加和减去28得到新的当前移位比特数。
较佳地,作为一种可实施方式,如图3所示,所述累加器21为一5比特二进制累加器(其最大值为十进制32);其输入为根据所述解压缩装置码流读取请求得到的需要移位数,所述移位数经过累加后传输给所述多路选择器22作为选择信号,保存累加结果进行下一轮累加数;然后在下一轮接收到解压缩装置3指示的需要移位数时,进行所接收到的所有移位数的累加,并在当累加结果大于或等于门限值(码流数据块中最大有效比特数)时,产生溢出,溢出后的累加结果作为新的需要移位数作为选择信号传送给多路选择器22,保存累加结果进行下一轮累加数。
较佳地,如图4所示,作为一种可实施试,所述多路选择器22分为第一选择单元221和第二选择单元222共2级选择单元,其中:
第一选择单元221,用于根据待解码的码流数据的码流模式从3个移位寄存器(2,1,0号寄存器)中选出[0:63]总共64比特的有效码流数据,并将64比特码流数据[0:63]分成按从左至右的顺序分成32组,每组32比特的有效码流数据,即[31:00],[32:01],[33:02],…,[63:32]共32组码流数据,其分别相当于64比特有效码流数据分别移位0~31位后得到的移位有效码流数据组;
第二选择单元222,用于从第一级输出的64比特码流数据得到的32组,每组32比特的码流数据,即[31:00],[32:01],[33:02],…,[63:32]共32组码流数据中,根据累加器传送过来的移位后有效码流数据组的选择信号,经过选择而输出32位有效码流数据组到解压缩装置。
较佳地,作为一种可实施方式,所述选择信号中的选择最小值为0,最大值为一个码流数据中的有效比特数减1,其门限值=最大值+1。如32位比特码流数据,如果没有无效比特时,为31;
如在音频CD14比特模式下,一个32比特字中有28比特有效,需最大值为27,溢出门限值为最大值加1,即28。
当码流数据中没有无效比特时,第一选择单元221输出的64比特全部为有效数据;输入为寄存器0和寄存器1的各32比特数据;
当码流数据中含有无效比特时,需要剔除无效比特,如音频CD14比特模式下,每16比特中的高2比特数据无效,所以输出为寄存器0的[13:00]和[29:16]和寄存器1的[13:00]和[29:16],加上寄存器2的[29:22],如图5所示。
第一选择单元221根据待解码的码流数据的码流模式得到待解码的码流数据中一个字块中的无效比特个数,根据无效比特的长度把输入的码流数据分组。
从码流数据的码流模式的控制字中,通过解析可以得到待解码的码流数据中一个字块中的无效比特个数,其是一种现有技术,因此,在本发明实施例中,不再一一详细描述。
本发明实施例的多路选择器22中,在待解码的码流数据中,通过第一选择单元221把无效比特剔除,同时,对剔除无效比特位后的读入有效码流数据,从3个32比特的寄存器(2号寄存器)中再选取部分位码流数据,组成64比特有效码流数据传送到第二选择单元222,避免了将码流数据中的无效比特读入解压缩装置3,提高了解压缩装置的解码效率。
然后第二选择单元222把输入的64比特数据按从左到右顺序分成32组,相当于64比特数据分别移位0~31位后得到的每组32个连续比特的码流数据,即[31:00],[32:01],[33:02],…,[63:32]。然后根据累加器传送过来的选择信号,选择其中一组32位有效码流数据组输出。
更佳地,所述码流解析装置2,还包括一第二缓存器25,用于缓存32比特有效数据;多路选择器22的输出连接所述第二缓存器25,采用一个32位的寄存器缓冲,缓解对输出数据的使用时序压力。
本发明实施例的解码器在解压缩过程中,按位读取压缩码流数据块,由于每次读取的开始数据位不相同,而且压缩码流数据中还可能存在无效比特,其需要解压缩装置3进一步解析,才能得到有效的压缩码流数据块,本发明实施例通过多路选择器22,首先按码流数据的码流模式,从码流数据中根据码流数据中无效比特数目而选取64比特有效码流数据,然后按所有32种解压缩装置3读取的移位后的有效码流数据,对64比特有效码流数据,按顺序(从左到右或者从右到左)分成32组有效码流数据组;当解压缩装置根据码流读取请求得到读取码流数据后,根据码流读取请求得到码流解析装置的需要移位数;根据需要移位数,累加器21计算出所选择的移位后的有效码流数据组,并将选择信号传输给多路选择器22,多路选择器22选择移位后得到的有效码流数据组传输给解压缩装置3,从而既能剔除有规律的无效比特(bit),又能够作为解码器的一部分,有效提供数据的按位读取功能,为解码器提供一种简单高效的码流解析按位读取通道,提高了解码器解码的效率。
下面以音频CD14比特模式的码流数据为例,说明本发明实施例的解码器及其码流解析装置,过程如下:
步骤S100,码流解析装置2首先从码流缓存器24中间读出4个32比特字的码流数据(BITSTREAMS DATA,BSD)到串联的移位寄存器组23,0号寄存器寄存第0个32比特字,1号寄存器寄存第1个32比特字,2号寄存器2寄存第2个32比特字,3号寄存器寄存第3个32比特字;
步骤S200,累加器21清零,等待输入;
步骤S300,多路选择器22的输入始终根据音频CD14比特模式中每16比特字中有高2位为无效比特的状态,选择0号寄存器的[13:00]和[29:16]和1号寄存器的[13:00]和[29:16],加上2号寄存器的[29:22],按照码流顺序排列为{reg0[29:16],reg0[13:00],reg1[29:16],reg1[13:00],reg2[29:22]},自左向右为由高到低传输到第二选择单元222,第二选择单元222将64位有效码流数据分成32组32位比特码流数据,相当于将64位有效码流数据各进行32次移位后得到的32组数据,如图5所示。
步骤S300,累加累21初始值为0,因此,32位多路选择器22的选择信号初始也为0,当前32比特有效码流的输出为第0组数据[31:0],即多路选择器第二级64比特中的第31-0比特。
步骤S400,在解压缩装置根据码流读取请求得到读取码流数据,根据码流读取请求得到码流解析装置的需要移位数,如需要移位数为9,码流解析装置2将移位9位后的32位有效码流数据输出,则累加器21产生一次累加动作,累加器21的输出为9,即送到多路选择器22的信号为(5’b)01001(二进制),多路选择器22根据选择信号,从选择多路选择器22的第二选择单元222的64比特码流数据的32组32比特码流数据中选择第9组,即[40:09]码流数据组输出到解压缩装置3,如图6所示。
步骤S500,在解压缩装置根据码流读取请求得到读取码流数据,根据码流读取请求得到码流解析装置的需要移位数,如移位数为27,码流解析装置2将移位27位后的32位有效码流数据输出,则累加器21的结果为9+27>(28-1),产生溢出,表示从第0号寄存器的有效码流开始的移位码流数据已经不能满足移位要求,需要导入3号寄存器的有效码流数据进行移位,因此,产生控制移位寄存器组23的移位控制信号和码流缓存器24的读使能信号,使串联(串行)的移位寄存器组23依次左移,并从码流缓存器24中读取一个新的32比特字,即将1号寄存器的码流数据移位到0号寄存器,2号寄存器的码流数据移位到1号寄存器,3号寄存器的码流数据移位到2号寄存器,然后从码流缓存器24中读入一个32比特的码流数据到3号寄存器中;
将新的0号寄存器寄存第0个32比特字,1号寄存器寄存第1个32比特字,2号寄存器2寄存第2个32比特字读取到第一选择单元221,然后第一选择单元221根据音频CD14比特模式中每16比特字中有高2位为无效比特的状态,选择寄存器0的[13:00]和[29:16]和寄存器1的[13:00]和[29:16],加上寄存器2的[29:22],按照码流顺序排列为{reg0[29:16],reg0[13:00],reg1[29:16],reg1[13:00],reg2[29:22]},自左向右为由高到低传输到第二选择单元222,第二选择单元222将64位有效码流数据从左到右顺序分成新的32组32位比特码流数据,相当于将新的64位有效码流数据各进行32次移位后得到新的32组数据;
累加器21的累加结果后溢出结果为(27+9-28)=8(十进制),将8按二进制编码成01000作为需移位的比特数组数的选择信号送到多路选择器22中;选择多路选择器22根据选择信号,从第二选择单元222的64比特码流数据的32组32比特码流数据的第8组,即第[39:8]比特的数据作为当前有效比特的输出到解压缩装置3,如图7所示。
步骤S600,在解压缩装置根据码流读取请求得到读取码流数据,根据码流读取请求得到码流解析装置的需要移位数,如移位数为7,码流解析装置2将移位7位后的32位有效码流数据输出,则累加器21累加的结果为8+7=15<28-1,则不溢出,累加器21的输出为15,送到多路选择器22的信号为(5’b)01111(二进制),多路选择器22根据选择信号,从选择多路选择器22的第二选择单元222的64比特码流数据的32组32比特码流数据中选择第15组,即[46:15]码流数据组输出到解压缩装置3。
步骤S700,在解压缩装置根据码流读取请求得到读取码流数据,根据码流读取请求得到码流解析装置的需要移位数,如移位数为20,码流解析装置2将移位20位后的32位有效码流数据输出,则累加器21的结果为15+20>(28-1),产生溢出,产生控制移位寄存器组23的移位控制信号和码流缓存器的读使能信号,使串联(串行)的移位寄存器组23依次左移,并从码流缓存器24中读取一个新的32比特码流数据,得到新的32组32位比特码流数据;
累加器21的累加结果后溢出结果为(20+15-28)=7(十进制),将7按二进制编码成00111作为需移位的比特数组数的选择信号送到多路选择器22中;多路选择器22根据选择信号,从第二选择单元222的64比特码流数据的32组32比特码流数据的第7组,即第[38:07]比特的数据作为当前有效比特的输出到解压缩装置3。
根据解码器的解压缩装置3的请求,重复进行解析移位输出,直至码流数据解压缩完毕。
本发明实施例的解码器及码流解析装置,既能剔除有规律的无效比特(bit),又能够作为解码器的一部分,有效提供数据的按位读取功能,根据解码要求有效处理其中码流解析部分,为解码器提供一种简单高效的码流读取通道,提高了解码器解码的效率。
最后应当说明的是,很显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型。

Claims (19)

1.一种解码器,包括内存管理装置和解压缩装置,其特征在于,还包括连接在所述内存管理装置和所述解压缩装置之间的一码流解析装置;
所述码流解析装置包括一累加器和一多路选择器;
其中:
所述累加器,用于根据所述解压缩装置的码流读取请求,产生从所述多路选择器中移位后有效码流数据组的选择信号;并将所述选择信号传输给所述多路选择器,用于控制所述多路选择器的有效码流数据组选择;
所述多路选择器,用于根据待解码的码流数据的码流模式,根据所述码流数据中无效比特数目而选取的多位有效码流数据并进行移位重组得到多组有效码流数据组;然后根据所述选择信号,经过选择而输出移位后的一组有效码流数据组到所述解压缩装置。
2.根据权利要求1所述的解码器,其特征在于,所述码流解析装置,还包括移位寄存器组,用于作为从所述内存管理装置中输入的码流数据的暂存装置;
所述码流解析装置还包括一第一缓存器,用于缓存从所述内存管理装置中读入并等待移位寄存器组读取的码流数据;
所述累加器,还用于对根据所述解压缩装置码流读取请求得到的需要移位数进行累加,当累加结果大于或等于门限值而溢出时,产生移位寄存器组的移位控制信号和从第一缓存器中读取数据的读使能信号;并将移位控制信号传输给移位寄存器组,用于控制移位寄存器组的移位;将读使能信号传输给第一缓存器,用于控制从第一缓存器读取码流数据到移位寄存器组;
所述多路选择器,还用于当累加结果大于或等于门限值而溢出,移位寄存器组的移位后,根据待解码的码流数据的码流模式,重新从所述移位寄存器组中根据码流数据中无效比特数目而选取新的多位有效码流数据并进行移位重组得到多组有效码流数据组,然后根据累加器传送过来的新的选择移位后有效码流数据组的选择信号,经过再次选择而输出一组移位后的有效码流数据组到解压缩装置。
3.根据权利要求2所述的解码器,其特征在于,所述移位寄存器组由4个32位的移位寄存器串联而成,用于作为从内存管理装置中输入的码流数据的4级暂存装置;
所述4个移位寄存器以先进先出方式串联,首一个移位寄存器连接到内存管理装置中,其余三个移位寄存器连接到多路选择器;
所述其余三个移位寄存器,用于暂存需要送入所述多路选择器的码流数据;
所述首一个移位寄存器,用于预取需要送入所述其余三个移位寄存器的码流数据。
4.根据权利要求3所述的解码器,其特征在于,所述第一缓存器由两块SRAM组成,乒乓使用。
5.根据权利要求1至4任一项所述的解码器,其特征在于,所述码流模式是以32比特数据为字块进行传输的音视频码流数据的码流模式;所述多位有效码流数据是64位有效码流数据;所述多组有效码流数据组是32组有效码流数据组;所述32组有效码流数据组,每组数据组共包括32比特位有效码流数据。
6.根据权利要求5所述的解码器,其特征在于,所述码流模式为音频CD14比特模式。
7.根据权利要求2至4任一项所述的解码器,其特征在于,所述门限值为32位码流数据块中最大有效比特数。
8.根据权利要求5所述的解码器,其特征在于,所述累加器为一5比特二进制累加器;
其输入为根据所述解压缩装置码流读取请求得到的需要移位数,所述移位数经过累加后传输给所述多路选择器作为选择信号,保存累加结果进行下一轮累加数;然后在下一轮接收到新的需要移位数时,进行所接收到的所有移位数的累加,并在当累加结果大于或等于门限值时,产生溢出,溢出后的累加结果作为新的需要移位数作为选择信号传送给所述多路选择器,保存累加结果进行下一轮累加数。
9.根据权利要求5所述的解码器,其特征在于,所述多路选择器分为第一选择单元和第二选择单元共2级选择单元,其中:
第一选择单元,用于根据待解码的码流数据的码流模式从所述移位寄存器组的3个移位寄存器中选出[0:63]总共64比特的有效码流数据,并将64比特码流数据[0:63]分成按从左至右的顺序分成32组,每组32比特的有效码流数据,即[31:00],[32:01],[33:02],…,[63:32]共32组码流数据,其分别相当于64比特有效码流数据分别移位0~31位后得到的移位有效码流数据组;
第二选择单元,用于从第一级输出的64比特码流数据得到的32组,每组32比特的码流数据,即[31:00],[32:01],[33:02],…,[63:32]共32组码流数据中,根据所述累加器传送过来的移位后有效码流数据组的所述选择信号,经过选择而输出32位有效码流数据组到解压缩装置。
10.根据权利要求9所述的解码器,其特征在于,所述选择信号中的选择最小值为0,最大值为一个码流数据中的有效比特数减1;门限值为最大值加1。
11.根据权利要求5所述的解码器,其特征在于,所述码流解析装置,还包括一第二缓存器,用于缓存32比特有效数据;
所述多路选择器的输出连接到所述第二缓存器。
12.一种解码器的码流解析装置,连接在解码器的内存管理装置和解压缩装置之间,其特征在于,包括一累加器和一多路选择器;
其中:
所述累加器,用于根据所述解压缩装置的码流读取请求,产生从所述多路选择器中移位后有效码流数据组的选择信号;并将所述选择信号传输给所述多路选择器,用于控制所述多路选择器的有效码流数据组选择;
所述多路选择器,用于根据待解码的码流数据的码流模式,根据所述码流数据中无效比特数目而选取的多位有效码流数据并进行移位重组得到多组有效码流数据组;然后根据所述选择信号,经过选择而输出一组移位后的有效码流数据组到所述解压缩装置。
13.根据权利要求12所述的码流解析装置,其特征在于,还包括移位寄存器组,用于作为从所述内存管理装置中输入的码流数据的暂存装置;
所述码流解析装置还包括一第一缓存器,用于缓存从所述内存管理装置中读入并等待移位寄存器组读取的码流数据;
所述累加器,还用于对根据所述解压缩装置码流读取请求得到的需要移位数进行累加,当累加结果大于或等于门限值而溢出时,产生移位寄存器组的移位控制信号和从第一缓存器中读取数据的读使能信号;并将移位控制信号传输给移位寄存器组,用于控制移位寄存器组的移位;将读使能信号传输给第一缓存器,用于控制从第一缓存器读取码流数据到移位寄存器组;
所述多路选择器,还用于当累加结果大于或等于门限值而溢出,移位寄存器组的移位后,根据待解码的码流数据的码流模式,重新从所述移位寄存器组中根据码流数据中无效比特数目而选取新的多位有效码流数据并进行移位重组得到多组有效码流数据组,然后根据累加器传送过来的新的选择移位后有效码流数据组的选择信号,经过再次选择而输出一组移位后的有效码流数据组到解压缩装置。
14.根据权利要求13所述的码流解析装置,其特征在于,所述移位寄存器组由4个32位的移位寄存器串联而成,用于作为从内存管理装置中输入的码流数据的4级暂存装置;
所述4个移位寄存器以先进先出方式串联,首一个移位寄存器连接到内存管理装置中,其余三个移位寄存器连接到多路选择器;
所述其余三个移位寄存器,用于暂存需要送入所述多路选择器的码流数据;
所述首一个移位寄存器,用于预取需要送入所述其余三个移位寄存器的码流数据。
15.根据权利要求12至14任一项所述的码流解析装置,其特征在于,所述码流模式是以32比特数据为字块进行传输的音视频码流数据的码流模式;所述多位有效码流数据是64位有效码流数据;所述多组有效码流数据组是32组有效码流数据组;所述32组有效码流数据组,每组数据组共包括32比特位有效码流数据。
16.根据权利要求15所述的码流解析装置,其特征在于,所述码流模式为音频CD14比特模式。
17.根据权利要求15所述的码流解析装置,其特征在于,所述累加器为一5比特二进制累加器;
其输入为根据所述解压缩装置码流读取请求得到的需要移位数,所述移位数经过累加后传输给所述多路选择器作为选择信号,保存累加结果进行下一轮累加数;然后在下一轮接收到新的需要移位数时,进行所接收到的所有移位数的累加,并在当累加结果大于或等于门限值时,产生溢出,溢出后的累加结果作为新的需要移位数作为选择信号传送给所述多路选择器,保存累加结果进行下一轮累加数。
18.根据权利要求15所述的码流解析装置,其特征在于,所述多路选择器分为第一选择单元和第二选择单元共2级选择单元,其中:
第一选择单元,用于根据待解码的码流数据的码流模式从所述移位寄存器组的3个移位寄存器中选出[0:63]总共64比特的有效码流数据,并将64比特码流数据[0:63]分成按从左至右的顺序分成32组,每组32比特的有效码流数据,即[31:00],[32:01],[33:02],…,[63:32]共32组码流数据,其分别相当于64比特有效码流数据分别移位0~31位后得到的移位有效码流数据组;
第二选择单元,用于从第一级输出的64比特码流数据得到的32组,每组32比特的码流数据,即[31:00],[32:01],[33:02],…,[63:32]共32组码流数据中,根据所述累加器传送过来的移位后有效码流数据组的选择信号,经过选择而输出32位有效码流数据组到解压缩装置。
19.根据权利要求15所述的码流解析装置,其特征在于,还包括一第二缓存器,用于缓存32比特有效数据;
所述多路选择器的输出连接到所述第二缓存器。
CN201010541706.0A 2010-11-12 2010-11-12 解码器及码流解析装置 Active CN102469307B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010541706.0A CN102469307B (zh) 2010-11-12 2010-11-12 解码器及码流解析装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010541706.0A CN102469307B (zh) 2010-11-12 2010-11-12 解码器及码流解析装置

Publications (2)

Publication Number Publication Date
CN102469307A CN102469307A (zh) 2012-05-23
CN102469307B true CN102469307B (zh) 2014-04-16

Family

ID=46072390

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010541706.0A Active CN102469307B (zh) 2010-11-12 2010-11-12 解码器及码流解析装置

Country Status (1)

Country Link
CN (1) CN102469307B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107562442B (zh) * 2017-09-22 2020-03-17 广州酷狗计算机科技有限公司 一种读取数据的方法和装置
CN109672923B (zh) * 2018-12-17 2021-07-02 龙迅半导体(合肥)股份有限公司 一种数据处理方法和装置
CN113746486B (zh) * 2021-09-15 2022-09-02 北京中科胜芯科技有限公司 一种针对fpga配置码流并行流水线式解压缩装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101198060A (zh) * 2007-12-25 2008-06-11 上海广电集成电路有限公司 Jpeg头码流分析的硬件实现方法
KR20080096342A (ko) * 2007-04-27 2008-10-30 한국정보통신대학교 산학협력단 비트스트림상에서의 객체 추적 장치 및 이의 방법
CN101640805A (zh) * 2008-07-28 2010-02-03 青岛海信信芯科技有限公司 一种视频解码方法及视频解码器
CN101646083A (zh) * 2009-06-18 2010-02-10 杭州高特信息技术有限公司 一种高效avs视频码流解析系统及方法
CN101729893A (zh) * 2008-08-15 2010-06-09 北京北大众志微系统科技有限责任公司 基于软硬件协同处理的mpeg多格式兼容解码方法及其装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080253449A1 (en) * 2007-04-13 2008-10-16 Yoji Shimizu Information apparatus and method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20080096342A (ko) * 2007-04-27 2008-10-30 한국정보통신대학교 산학협력단 비트스트림상에서의 객체 추적 장치 및 이의 방법
CN101198060A (zh) * 2007-12-25 2008-06-11 上海广电集成电路有限公司 Jpeg头码流分析的硬件实现方法
CN101640805A (zh) * 2008-07-28 2010-02-03 青岛海信信芯科技有限公司 一种视频解码方法及视频解码器
CN101729893A (zh) * 2008-08-15 2010-06-09 北京北大众志微系统科技有限责任公司 基于软硬件协同处理的mpeg多格式兼容解码方法及其装置
CN101646083A (zh) * 2009-06-18 2010-02-10 杭州高特信息技术有限公司 一种高效avs视频码流解析系统及方法

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
一种高效可编程H.264/AVC比特流解析结构设计;罗宁等;《电视技术》;20091231;第33卷(第S2期);57-59 *
基于AVS标准的熵解码器硬件设计;陈光化等;《电视技术》;20091231;第33卷(第3期);23-25 *
罗宁等.一种高效可编程H.264/AVC比特流解析结构设计.《电视技术》.2009,第33卷(第S2期),57-59.
陈光化等.基于AVS标准的熵解码器硬件设计.《电视技术》.2009,第33卷(第3期),23-25.

Also Published As

Publication number Publication date
CN102469307A (zh) 2012-05-23

Similar Documents

Publication Publication Date Title
CN100525450C (zh) 一种实现霍夫曼译码的方法和装置
CN101489135B (zh) 一种方便ldpc长码在fpga实现的编码器及编码方法
CN101790889A (zh) 用于基于上下文的自适应二进制算术译码位流的多级解码的架构
CN103095305A (zh) 一种硬件lz77的压缩实现系统及方法
CN101945286B (zh) 压缩编码方法、解码解压方法、装置和通信系统
CN102469307B (zh) 解码器及码流解析装置
CN110766155A (zh) 一种基于混合精度存储的深度神经网络加速器
CN100555879C (zh) 一种ldpc码的编码器装置及编码方法
CN102438145A (zh) 一种基于Huffman编码的图片无损压缩方法
CN108873062A (zh) 一种基于fpga的多编码器高速地震数据并行无损压缩方法
KR101467684B1 (ko) 이진데이터 압축 및 압축해제 장치와 방법
CN101489128A (zh) 一种jpeg2000流水线算术编码方法和电路
CN107612891B (zh) 一种数据压缩加密电路
CN111787321A (zh) 用于边缘端的基于深度学习的图片压缩、解压缩方法及系统
CN101350626A (zh) 一种Turbo码编码装置及方法
CN101741391A (zh) 在定点dsp进行mp3音频解码时优化内存空间的方法
CN111030780A (zh) 一种可配置并行比特分组交织器及交织方法
CN101154957B (zh) Turbo码交织器及交织地址传输方法
CN101242190B (zh) 时间解交织方法
CN1541356A (zh) 有软/硬件环压缩的先进先出写/后进先出读跟踪缓冲器
CN102740075A (zh) 一种视频数据的压缩/解压缩方法及系统
CN101242189B (zh) 指针寻址时间解交织方法
CN102136878B (zh) 一种速率匹配实现方法和系统
CN102751994B (zh) 一种基于两个有限群符号的短码长分组码译码器装置
CN202907104U (zh) 视频数据的压缩和解压缩系统

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