CN1178398C - 在维特比译码器中生存路径的存储器管理方法 - Google Patents
在维特比译码器中生存路径的存储器管理方法 Download PDFInfo
- Publication number
- CN1178398C CN1178398C CNB011259213A CN01125921A CN1178398C CN 1178398 C CN1178398 C CN 1178398C CN B011259213 A CNB011259213 A CN B011259213A CN 01125921 A CN01125921 A CN 01125921A CN 1178398 C CN1178398 C CN 1178398C
- Authority
- CN
- China
- Prior art keywords
- square
- merging
- decoding
- viterbi decoder
- action
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Error Detection And Correction (AREA)
Abstract
本发明提供一种在维特比译码器中生存路径的存储器管理方法,其利用多数个缓存器来存储所需的生存路径地址,借此在较少存储器空间下达到加速译码的目的,该方法包括下列步骤:分割一生存路径存储器成为具有相等长度的一写入方块、一译码方块及多数个合并方块;回溯操作在目前周期中的第一个合并方块并储存对应该第一个合并方块的起始及结束地址;跳过其它合并方块中的回溯操作而根据所储存的起始及结束地址直接至译码方块中进行译码动作;完成译码动作后进入下一周期重复上述动作。本发明还包括一置于该分割步骤前的步骤为:安装Nx(TR-1)个缓存器,用以储存目前周期中的第一个合并方块的启始及结束地址,其中,N为篱栅中的状态数目以及TR为合并方块的数目。
Description
发明领域
本发明涉及一种生存路径存储器管理方法,特别是有关于一种用于维特比(Viterbi)译码器中的生存路径存储器管理方法,其利用数个缓存器来存储所需的生存路径地址,借此达到节省存储器空间与耗电量的目的。
背景技术
应用回溯方法的维特比译码器经常被用来执行译码动作以得到译码信息(decoded message)。生存路径经过读取篱栅状态(trellis state)中所储存的决策位(decision bit)来回溯而得。也就是,每个生存路径的前一状态是由目前状态及储存的决策位来决定。用以存取决策位的存储器则称为生存路径存储器。如图1所示,该生存路径存储器可区分为译码方块、合并方块及写入方块三部份。该写入方块储存用以储存篱栅状态(trellis state)中每个状态的决策位(decision bit)。该合并方块用以沿着篱栅状态(trellis state)中的生存路径(例如图中的P1至P4)往回追溯D阶。其中,D代表假设在使用合并方块回溯时所有不同状态的生存路径最后都会被合并成单一路径的决策深度。当所有不同状态的生存路径被合并成单一路径时,该译码方块会回溯这个仅有的单一路径并找出需要的译码数据。
因为包括合并方块及译码方块的读取区域大于写入区域,为使输出数据速率能配合输入数据速率,通常使用多指针读取操作或让读取操作快于写入操作的操作方式。一M-指针回溯结构所需要的生存路径存储器容量是
其中,N是在篱栅状态中的状态数目。而一单一指针回溯结构所需要的生存路径存储器容量是
其中,TRR是指回溯递归速率(trace-back recursion rate),其定义在单一指针回溯结构中每一写入周期(per write phase)的回溯递归数目。将前面的M-指针结构及单一指针结构所需要的存储器容量大小比较在图2的表格中。如图2所示,显而易见地可知道若将单一指针逻辑的结构应用在生存路径管理中,所需的存储器较少,可得到较佳的译码效率。理论上,单一指针结构中,TRR值越大,所需的存储器容量越小。然而在实际上,因为电路设计复杂度的问题,TRR=4以上的速率是很少应用到的。因此,本发明针对单一指针结构TRR=3,实际上常见的3双端口存储器库为例提出改良方法。但本发明方法不限于TRR=3,也可应用于其它的TRR值。
传统上,3双端口存储器库是结构成如同图3中所示的结构,以满足所要求的较快读取操作。在图3每一阶段的时钟中,新数据被写入三个双端口存储器库中的一个且可以从所有的三个双端口存储器库中读出数据。例如,若假设D=12,总生存路径存储器长度则为2D=24,因此,如图3所示,长度为8的3双端口存储器库被选用。其中,合并方块M1、M2包括从阶段(stage)1至阶段4的时段(period),而译码方块包括从阶段5至阶段6的时段。在这6个阶段的时段中,数据输出量相等于数据输入量。此6(D/2)个阶段的时段组合成一周期(phase),而本例中具有4个周期。在图1中,设L=D/2,且将合并方块平分成二个长度相等的子方块M1及M2,产生如图4所示的4个长度皆为D/2的方块DC、WR、M1及M2。合并方块会在不同周期中有重叠(overlap)的现象。例如,第1周期的M1方块变成第2周期的M2方块。如此,在不同周期重复相同的操作,造成存储器资源上的浪费。类似地,如图5所示的TRR=5的单一指针结构中,因TRR增加使得合并方块的数目也增加,进而导致重复相同操作的次数也增加,如此,存储器资源浪费的程度也增加。
发明内容
因此,本发明的一目的为提供一种在维特比译码器中的生存路径存储器管理方法,其利用缓存器的设置来记录第1阶段中对应第1个合并方块的生存路径的起始及结束状态以减少每一写入周期所需的读取操作,而达到增加电力及存储器使用效率的目的。
本发明的另一目的为提供一种在维特比译码器中的生存路径存储器管理方法,其适用于各种回溯递归速率的单端口及双端口存储器管理,可增加生存路径存储器设计上的弹性。
本发明是一种在维特比译码器中的生存路径存储器管理方法,其利用缓存器的设置来记录第1周期中对应第1个合并方块的生存路径的起始及结束状态以减少每一写入周期所需的读取操作,可适用于各种回溯递归速率的单端口及双端口存储器管理,因而增加生存路径存储器设计上的弹性。本发明方法包括下列步骤:分割一生存路径存储器成为具有相等长度之一的写入方块(write block)、一译码方块(decode block)及多个合并方块(merge blocks);回溯操作在目前周期(phase)中的第一个合并方块并在缓存器中储存对应该第一个合并方块的起始及结束地址;跳过其它合并方块中的回溯操作而根据所储存的起始及结束地址直接至译码方块中进行译码动作;完成译码动作后进入下一周期(next phase)重复上述动作。本发明又包括一置于该分割步骤前的步骤为:安装(implement)Nx(TR-1)个缓存器,用以储存目前周期中的第一个合并方块的起始及结束地址,其中,N为篱栅(trellis)中的状态数目以及TR为合并方块的数目。
附图说明
为让本发明的上述及其它目的、特征、与优点能更显而易见,下文特举一较佳实施例,并配合所附图式,作详细说明如下:
图1显示一典型回溯结构的生存路径存储器示意图;
图2显示一比较多指针及单一指针结构所需的生存路径存储器的对照表;
图3显示一典型单一指针TRR=3双端口存储器库结构示意图;
图4显示根据图3产生的操作示意图;
图5显示根据一单一指针TRR=5结构产生的操作示意图;
图6显示本发明结构方块图;
图7显示根据图6所配置的一生存路径存储器实施例;
图8显示根据图6所配置的另一生存路径存储器实施例;
图9显示本发明方法流程图;以及
图10显示一本发明结构与传统结构比较对照表。
具体实施方式
参考图6,是本发明的单一指针回溯结构方块图。在图6中,该结构包括一增加-比较-选择处理器(ACS:Add-Compare-Select processor)61,用以计算及更新每一状态的生存路径;二生存路径存储器63、65,用以储存决策位数据及回溯所读取的状态值;一缓存器67,用以储存目前周期(phase)中位于上述存储器63、65内有关第一合并方块的起始及结束地址以提供译码时所需的路径数据;一控制单元69,用以根据对上述二存储器库63、65的存取来产生译码数据。今将此结构配合图7及图8的生存路径存储器说明如下。
图7显示一根据图6所配置的2双端口存储器库实施例。如图7所示,其与传统方法(见图3)最大的不同在于传统方式会执行每一合并步骤(即M1、M2方块中的回溯操作),但是本发明方法只会执行第一方块中的合并步骤(即M1方块中的回溯操作)而跳过其它合并方块中的合并步骤。也就是,当更新的决策位及目前状态数据从ACS处理器61中输出并存入例如图7所示的2双端口存储器库中时,控制单元69将控制此二存储器库63及65如前述分割成一译码方块DC、一写入方块WR及二合并方块M1、M2以执行阶段1至阶段6的动作。其中,当控制单元69执行阶段1的动作时,会将M1的起始地址记录在缓存器67中。同样地,当执行至阶段3时,也会将M1的结束地址记录在缓存器67中。接着,控制单元69跳过M2方块的回溯操作直接在阶段4中进入译码方块进行译码动作。在此结构中,配置的总存储器长度是为2D=24,而在M2方块操作的省略下,使得读取区域长度虽仍为写入区域长度的3倍,但每一写入周期(phase)的读取操作数目已被减少至2。同样地,本发明方法也可如图8所示地利用2单端口存储器库来配置。在图8中,仍使用上述总长度为24的生存路径存储器为例,平均分割成左上区域为译码方块,左下区域为写入方块,右上区域为M1方块以及右下区域为M2方块。在此实施例的M2方块中,其回溯操作仍是略过而直接在M1方块的回溯操作结束后直接利用M1方块的起始及结束地址进行译码动作。如此,每一写入周期(phase)的读取操作数目也如前述般地被减少至2。依此类推,若将图5中M2至M4方块中的回溯操作省略,代之以记录M1方块中回溯操作的起始及结束地址至缓存器中。也会使每一写入周期的读取操作数目减少至2。换言之,应用本发明方法在任何TRR值的单端口或双端口存储器库结构中,皆可提升译码速率、增加设计弹性。
综合上述可知本发明方法如图9所示,该方法包括下列步骤:分割一生存路径存储器成为具有相等长度的一写入方块(write block)、一译码方块(decode block)及多个合并方块(merge blocks)(S1);回溯操作在目前周期(phase)中的第一个合并方块并储存对应该第一个合并方块的起始及结束地址(S2);跳过其它合并方块中的回溯操作而根据所储存的起始及结束地址直接至译码方块中进行译码动作(S3);完成译码动作后进入下一周期重复上述动作(S4)。本发明还包括一置于该分割步骤前的步骤为:安装(implement)Nx(TR-1)个缓存器,用以储存目前周期中的第一个合并方块的起始及结束地址,其中,N为篱栅(trellis)中的状态数目以及TR为合并方块的数目。
图10是安装ATSC篱栅译码器使用传统3双端口静态随机存取存储器(SRAM)结构与使用本发明2单端口静态随机存取存储器(SRAM)结构的比较表。本比较表利用台湾集成电路公司(TSMC)制造的0.35微米、3.3伏特互补型金属氧化物半导体(CMOS)产品所作的仿真测试,如图10所示,在相同存储器容量下,传统结构所占面积几乎为本发明结构的二倍,而其所耗功率约为本发明结构的三倍。即使本发明为了记录目前周期(current phase)中第一合并方块的起始及结束地址而增加约0.01平方毫米的面积来配置缓存器,传统结构所占面积仍约为本发明结构的二倍。因此,采用本发明方法可具有节省电源、节省空间等优点。
虽然本发明已以一较佳实施例揭露如上,然其并非用以限定本发明,任何熟知此技术的人士,在不脱离本发明的精神及范围内,当可做更动与润饰,因此本发明的保护范围当视权利要求所界定的保护范围为准。
Claims (4)
1.一种在维特比译码器中生存路径的存储器管理方法,其包括下列步骤:
分割一生存路径存储器成为具有相等长度的一写入方块、一译码方块及多个合并方块;
回溯操作在目前周期中的第一个合并方块并在缓存器中储存对应该第一个合并方块的起始及结束地址;
跳过其它合并方块中的回溯操作而根据所储存的起始及结束地址直接至译码方块中进行译码动作;
完成译码动作后进入下一周期重复上述动作。
2.如权利要求1所述的在维特比译码器中生存路径的存储器管理方法,其中进一步包括一置于所述分割步骤前的步骤为:安装Nx(TR-1)个所述缓存器,用以储存目前周期中的第一个合并方块的起始及结束地址,其中,N为篱栅中的状态数目以及TR为合并方块的数目。
3.如权利要求1所述的在维特比译码器中生存路径的存储器管理方法,其中,在上述回溯操作步骤中,使用2单端口存储器库配置来使读取操作速度为写入操作速度的两倍。
4.如权利要求1所述的在维特比译码器中生存路径的存储器管理方法,其中,在所述的回溯操作步骤中,配置2双端口存储器库以便同时执行读取操作及写入操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB011259213A CN1178398C (zh) | 2001-08-23 | 2001-08-23 | 在维特比译码器中生存路径的存储器管理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB011259213A CN1178398C (zh) | 2001-08-23 | 2001-08-23 | 在维特比译码器中生存路径的存储器管理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1404229A CN1404229A (zh) | 2003-03-19 |
CN1178398C true CN1178398C (zh) | 2004-12-01 |
Family
ID=4666095
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB011259213A Expired - Lifetime CN1178398C (zh) | 2001-08-23 | 2001-08-23 | 在维特比译码器中生存路径的存储器管理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1178398C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005210238A (ja) * | 2004-01-21 | 2005-08-04 | Nec Corp | ターボ復号装置及びその方法並びにその動作プログラム |
-
2001
- 2001-08-23 CN CNB011259213A patent/CN1178398C/zh not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1404229A (zh) | 2003-03-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR19990015603A (ko) | 비터비 디코더 | |
JP3747604B2 (ja) | ビタビ復号装置 | |
KR19980018726A (ko) | 데이터를 동시에 입력 및 출력하는 2포트 반도체기억장치 (two port memory for simultaneously inputting and outputting data) | |
CN1524215A (zh) | 先进先出存储系统及其方法 | |
KR100283413B1 (ko) | 텍스처 매핑시스템 | |
CN1178398C (zh) | 在维特比译码器中生存路径的存储器管理方法 | |
US8401126B2 (en) | Viterbi decoding apparatus | |
CN102385561B (zh) | 用于非易失性存储器的经修改读取操作 | |
CN101996142B (zh) | 一种访问存储器的方法及装置 | |
CN1434453A (zh) | 使用一个双端口随机存储器实现两个先进先出队列的方法 | |
JP3349942B2 (ja) | 命令メモリ回路 | |
EP1251431A2 (en) | Reduction of bank switching instructions in main memory of data processing apparatus having main memory and plural memory banks | |
US20080232166A1 (en) | Content data storage device and its control method | |
CN117194281B (zh) | 一种用于asic中不定长数据的非对称存取方法 | |
KR100557932B1 (ko) | 램버스 디램의 셀 블록 활성화 방법 및 그 구조 | |
JPH11186915A (ja) | ビタビ復号装置 | |
KR910006792B1 (ko) | 다이랙트 메모리 억세스 컨트롤러의 억세스 메모리 확장회로 | |
CN103544132A (zh) | 一种可重构状态机的实现方法及装置 | |
CN1129188C (zh) | 半导体只读存储器的高密度行解码装置 | |
US20100042803A1 (en) | State transistion management device and state transistion management method thereof | |
JPS63217597A (ja) | 記憶装置 | |
KR100306878B1 (ko) | 비터비 복호 방법 및 이를 이용한 비터비 복호기 | |
JPH0512119A (ja) | キヤツシユメモリ回路 | |
KR20000020953A (ko) | 비터비 디코더의 경로 메모리 장치 | |
KR100354162B1 (ko) | 비터비디코더의스태이트메트릭구현방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
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 | ||
CX01 | Expiry of patent term |
Granted publication date: 20041201 |
|
CX01 | Expiry of patent term |