用于生成非二进制平衡码的方法和装置的制作方法

文档序号:7677077阅读:287来源:国知局
专利名称:用于生成非二进制平衡码的方法和装置的制作方法
技术领域
本发明涉及通信信道中的数据编码,更具体地涉及用于生成非二进制 平衡码的方法和装置。
背景技术
这里所提供的背景技术描述是为了一般地给出本发明的上下文。就该 背景技术部分中所描述的范围而言,当前所指出的发明人的工作以及在申 请时可能以其它方式不被认为是现有技术的描述的特征既不显式地也不隐 含地承认是相对于本发明的现有技术。
许多通信系统在可以传送的信号类型方面受到约束。通常,出于诸如 接收器/发送器中的更大功耗和通信信道的高通频率特性之类的原因,低频 能量是不希望的。在二进制数据流中,低频内容的量是由数据流中连续的 1或0的数目以及所传送的1和0的总数的失衡来确定的。
广泛使用的8b/10b线路码(line code)生成包含不超过5个连续1或 0的二进制数据流,并且是无DC的(DC-free)。无DC意味着所传送的 1的总数减去所传送的0的总数在零的任一侧被两个常数限制。这两个常 数通常是彼此的相反数(opposite) 。 8b/10b码将每8位的用户数据替换为 10位的经编码数据。将位数增大2 (从8到10)意味着在8b/10b码中存在 25% (2/8)的冗余。在使用符号(symbol)的数字通信和记录系统中,每 个符号足够频繁地出现在所传送的序列中以帮助接收器进行适应是有利的。

发明内容
一种编码器包括分组模块(grouping module),该分组模块将输入信 号分组成多个块,其中所述多个块包括当前块和至少一个先前块,其中所 述多个块中的每一个包括至少N个符号,并且其中所述N个符号的每一个 具有q个符号值中的一个,其中N是正整数并且q是大于2的整数。所述 编码器还包括计数模块,该计数模块对所述至少一个先前块中的q个符号 值的出现进行计数以生成第一计数,并且对当前块中的q个符号值的出现 进行计数以生成第二计数。所述编码器还包括置换模块(permutation module),该置换模块基于第一和第二计数来选择性地置换(permute)当 前块。
在另一特征中,所述置换模块在置换当前块中的N个符号时,将当前 块中最频繁的符号x映射到所述至少一个先前块中的最不频繁的符号y。 所述置换块也可以应用以下的关系FX+zmodq,其中x是输入置换,y是 输出置换且z是置换的选择。所述置换模块也可以在置换当前块中的N个 符号时,将当前块中两个最频繁的符号Xl、 x2映射到所述至少一个先前块 中的两个最不频繁的符号yi、 y2。所述置换模块也可以针对a和b来求解 y产ax!+b禾口 y2=ax2+b。
在又一特征中,所述置换模块在置换当前块中的N个符号时,将当前 块中最频繁的符号映射到所述至少一个先前块中最不频繁的符号,并且将 当前块中最不频繁的符号映射到所述至少一个先前块中最频繁的符号。
在另一特征中,所述编码器可被并入包括目标设备的系统中。该目标 设备可以包括发送器或存储设备。存储设备可以包括非易失性存储器或硬 盘驱动器。
在另一特征中,所述置换模块将当前块中r个最频繁的符号映射到迄 今为止的最不频繁的符号,并且将当前块中s个最不频繁的符号映射到迄 今为止的最频繁的符号,其中r和s大于或等于零。
在本发明的另一特征中, 一种具有q元符号序列输入信号的系统(其
8中q>2)包括编码器,该编码器生成被平衡过的、非二进制的q元输出符 号序列,并且其中mx是每个q可能符号在输出序列中的出现频率,其中 x=0, 1, q-l,其中,所述编码器生成满足以下条件0<min(mx)<=l/q、 l/q<=max(mx)<l和max(mx)-min(mx)<o;中的至少之一的输出符号序列,其 中a是在范围0<=c^l内的设计参数。
一种编码方法包括将输入信号分组成多个块,其中所述多个块包括当 前块和至少一个先前块,其中所述多个块中的每一个包括至少N个符号, 并且其中所述N个符号的每一个具有q个符号值中的一个,其中N是正整 数并且q是大于2的整数。该方法还包括对所述至少一个先前块中的q个 符号值的出现进行计数以生成第一计数,并且对当前块中的q个符号值的 出现进行计数以生成第二计数,以及基于第一和第二计数来选择性地置换 当前块。
在另一特征中,所述方法包括在置换当前块中的N个符号时,将当前 块中最频繁的符号x映射到所述至少一个先前块中的最不频繁的符号y。 所述方法还可以包括选择性地置换步骤包括应用以下的关系y^x+zmod q,其中x是输入置换,y是输出置换且z是置换的选择。置换步骤也可以 包括在置换当前块中的N个符号时,将当前块中两个最频繁的符号Xi、 X2映射到所述至少一个先前块中的两个最不频繁的符号yi、 y2。置换步骤 也可以包括针对a和b来求解y产ax!+b和y2=ax2+b。置换步骤也可以包 括在置换当前块中的N个符号时,将当前块中最频繁的符号映射到所述 至少一个先前块中第二最不频繁的符号,并且将当前块中最不频繁的符号 映射到所述至少一个先前块中最频繁的符号。
在另一特征中,置换步骤也可以包括将当前块中r个最频繁的符号 映射到迄今为止的最不频繁的符号,并且将当前块中s个最不频繁的符号 映射到迄今为止的最频繁的符号,其中r和s大于或等于零。
在本发明的另一特征中, 一种操作具有q元符号序列输入信号的编码 器的方法(其中q>2)包括生成被平衡过的、非二进制的q元输出符号 序列,并且其中nk是每个q可能符号在输出序列中的出现频率,其中fO, l,..., q-l,输出符号序列满足以下条件0<min(mx)<=l/q、 l/q<=max(mx)<l和max(m)min(mx;KQ;中的至少之一,其中a是在范围0<=cKl内的设计参 数。
在另一特征中, 一种编码器包括用于将输入信号分组成多个块的分组 装置,其中所述多个块包括当前块和至少一个先前块,其中所述多个块中 的每一个包括至少N个符号,并且其中所述N个符号的每一个具有q个符 号值中的一个,其中N是正整数并且q是大于2的整数。所述编码器还包 括计数装置,该计数装置用于对所述至少一个先前块中的q个符号值的出 现进行计数以生成第一计数,并且对当前块中的q个符号值的出现进行计 数以生成第二计数。所述编码器还包括置换装置,用于基于第一和第二计 数来选择性地置换当前块。
在另一特征中,所述编码器包括映射装置,该映射装置用于在置换当 前块中的N个符号时,将当前块中最频繁的符号x映射到所述至少一个先 前块中的最不频繁的符号y。
在另一特征中,所述置换装置包括用于应用以下的关系y=x+Zmodq 的装置,其中x是输入置换,y是输出置换且z是置换的选择。
在另一特征中,所述编码器,其中置换包括在置换当前块中的N个 符号时,将当前块中两个最频繁的符号Xl、 x2映射到所述至少一个先前块 中的两个最不频繁的符号力、y2。
在另一特征中, 一种系统可以包括目标装置和编码器。目标装置可以 包括传送装置。目标装置还可以包括用于存储的装置。用于存储的装置可 以包括用于存储的非易失性装置和用于存储的硬盘装置。
在另一特征中,所述置换装置包括针对a和b来求解yi=aXl+b和 y产ax2+b的求解装置。
在另一特征中,所述置换装置包括映射装置,该映射装置用于在置换 当前块中的N个符号时,将当前块中最频繁的符号映射到所述至少一个先 前块中第二最不频繁的符号,并且将当前块中最不频繁的符号映射到所述 至少一个先前块中最频繁的符号。
在另一特征中,所述置换装置包括映射装置,该映射装置用于将当前 块中r个最频繁的符号映射到迄今为止的最不频繁的符号,并且将当前块中S个最不频繁的符号映射到迄今为止的最频繁的符号,其中r和S大于 或等于零。
在本发明的另一特征中, 一种具有q元符号序列输入信号(其中 q>2)包括编码器包括生成装置,该生成装置用于生成被平衡过的、非二 进制的q元输出符号序列,并且其中mx是每个q可能符号在输出序列中的 出现频率,其中x=0, 1, ..., q-l,所述输出符号序列满足以下条件 0<min(mx)<=l/q、 l/q<=max(mx)<l禾卩max(mx)-min(mx)<"中的至少之一, 其中a是在范围0<=o<l内的设计参数。
一种被存储以供处理器使用以用于编码的计算机程序,包括将输入信 号分组成多个块,其中所述多个块包括当前块和至少一个先前块,其中所 述多个块中的每一个包括至少N个符号,并且其中所述N个符号的每一个 具有q个符号值中的一个,其中N是正整数并且q是大于2的整数。该计 算机程序还包括对所述至少一个先前块中的q个符号值的出现进行计数以 生成第一计数,并且对当前块中的q个符号值的出现进行计数以生成第二 计数。所述计算机程序还包括基于第一和第二计数来选择性地置换当前 块。
在另一特征中,所述计算机程序可以包括在置换当前块中的N个符号 时,将当前块中最频繁的符号x映射到所述至少一个先前块中的最不频繁 的符号y。
在另一特征中,所述计算机程序还可以包括选择性地置换步骤包括 应用以下的关系y^x+zmodq,其中x是输入置换,y是输出置换且z是置 换的选择。
在另一特征中,所述计算机程序还可以包括在置换当前块中的N个 符号时,将当前块中两个最频繁的符号Xl、 x2映射到所述至少一个先前块 中的两个最不频繁的符号yi、 y2。置换步骤也可以包括针对a和b来求解 y产叫+b和y2=aX2+b。置换步骤也可以包括在置换当前块中的N个符号 时,将当前块中最频繁的符号映射到所述至少一个先前块中第二最不频繁 的符号,并且将当前块中最不频繁的符号映射到所述至少一个先前块中最 频繁的符号。在另一特征中,所述计算机程序也可以包括将当前块中r个最频繁 的符号映射到迄今为止的最不频繁的符号,并且将当前块中S个最不频繁 的符号映射到迄今为止的最频繁的符号,其中f和S大于或等于零。在本
发明的另一特征中, 一种存储在具有q元符号序列输入信号(其中q〉2) 的有形计算机介质上以用于编码的计算机程序,包括生成被平衡过的并且 其中mx是每个q可能符号在输出序列中的出现频率的、非二进制的q元输 出符号序列的步骤,其中x=0, 1, q-l,输出符号序列满足以下条件 0<min(mx)<=l/q、 l/q<=max(mx)<l禾n max(mx)-min(mx)<a中的至少之一, 其中a是在范围0<=QK1内的设计参数。
在另一特征中, 一种解码器可以包括分组模块,该分组模块将输入信 号分组成多个块和多个置换符号,其中所述多个块包括N个符号,并且其 中所述N个符号中的每一个具有q个符号值中的一个,其中q和N是大于 2的整数。所述编码器还可以包括置换模块,该置换模块基于所述多个置 换符号之一来置换所述多个块中的第一块,并且基于该置换来生成经解码 的输出信号。
在另一特征中,所述第一块被布置为邻近所述置换符号。 在另一特征中,所述置换符号或者被加到所述第一块的N个符号的q 个符号值的每一个中或者被从所述第一块的N个符号的q个符号值的每一 个中减去。所述置换模块可以从所述第一块的N个符号的q个符号值中减 去所述置换符号的第二符号,并且在减去之后将其除以所述置换符号的第 一符号。
在另一特征中, 一种系统可以包括目标设备和所述解码器。该目标设 备可以包括接收器。该目标设备可以包括诸如非易失性存储器和硬盘驱动 器之类的存储设备。
在另一特征中, 一种解码方法可以包括将输入信号分组成多个块和 多个置换符号,其中所述多个块包括N个符号并且其中所述N个符号中的 每一个具有q个符号值中的一个,其中q和N是大于2的整数;以及基于 所述多个置换符号之一来置换所述多个块中的第一块,并且基于该置换来 生成经解码的输出信号。在另一特征中,所述方法还可以包括将第一块布置为邻近所述置换符号。
在另一特征中,所述方法还可以包括将所述置换符号加到所述第一块
的N个符号的q个符号值的每一个中或者将所述置换符号从所述第一块的 N个符号的q个符号值的每一个中减去。
在另一特征中,所述方法还可以包括从所述第一块的N个符号的q个 符号值中减去所述置换符号的第二符号,并且在减去之后将其除以所述置 换符号的第一符号。
在本发明的另一特征中, 一种解码器包括分组装置和置换装置,该分 组装置用于将输入信号分组成多个块和多个置换符号,其中所述多个块包 括N个符号,并且其中所述N个符号中的每一个具有q个符号值中的一 个,其中q和N是大于2的整数,所述置换装置用于基于所述多个置换符 号之一来置换所述多个块中的第一块,并且基于该置换来生成经解码的输 出信号。
在另一特征中,所述解码器还可以包括将第一块布置为邻近所述置换 符号。
在另一特征中,所述解码器可以包括加法或减法装置,用于将所述置 换符号加到所述第一块的N个符号的q个符号值的每一个中或者从所述第 一块的N个符号的q个符号值的每一个中减去。
在另一特征中,所述解码器可以包括置换装置,该置换装置从所述第 一块的N个符号的q个符号值中减去所述置换符号的第二符号,并且在减 去之后将其除以所述置换符号的第一符号。
在另一特征中, 一种系统可以包括目标装置和解码器。该目标装置可 以包括传送装置。该目标装置可以包括用于存储的装置,例如用于存储的 非易失性装置和用于存储的硬盘装置。
一种用于解码的方法包括将输入信号分组成多个块和多个置换符 号,其中所述多个块包括N个符号并且其中所述N个符号具有q个符号值 中的一个,其中q和N是大于2的整数;以及基于所述多个置换符号之一 来逆置换所述多个块中的第一块,并且基于该置换来生成经解码的输出信号。
在另一特征中,所述第一块可被布置为邻近所述置换符号。所述方法 还可以包括将所述置换符号加到所述第一块的N个符号的q个符号值的每
一个中或者将所述置换符号从所述第一块的N个符号的q个符号值的每一
个中减去。
在另一特征中,所述方法还包括从所述第一块的N个符号的q个符号 值中减去所述置换符号的第二符号,并且在减去之后将其除以所述置换符 号的第一符号。
在本发明的另一特征中, 一种解码器包括分组装置和置换装置,该分 组装置用于将输入信号分组成多个块和多个置换符号,其中所述多个块包 括N个符号,并且其中所述N个符号中的每一个具有q个符号值中的一 个,其中q和N是大于2的整数,所述置换装置用于基于所述多个置换符 号之一来置换所述多个块中的第一块,并且基于该置换来生成经解码的输 出信号。所述第一块可被布置为邻近所述置换符号。
在另一特征中,所述解码器可以包括加法或减法装置,用于将所述置 换符号加到所述第一块的N个符号的q个符号值的每一个中或者从所述第 一块的N个符号的q个符号值的每一个中减去。
在另一特征中,所述置换装置从所述第一块的N个符号的q个符号值 中减去所述置换符号的第二符号,并且在减去之后将其除以所述置换符号 的第一符号。
一种被存储以供处理器使用以用于解码的计算机程序包括将输入信 号分组成多个块和多个置换符号,其中所述多个块包括N个符号并且其中 所述N个符号具有q个符号值中的一个,其中q和N是大于2的整数;以 及基于所述多个置换符号之一来逆置换所述多个块中的第一块,并且基于 该置换来生成经解码的输出信号。
在另一特征中,所述计算机程序包括将所述第一块布置为邻近所述置 换符号。所述计算机程序可以包括将所述置换符号加到所述第一块的N个 符号的q个符号值的每一个中或者将所述置换符号从所述第一块的N个符 号的q个符号值的每一个中减去。所述计算机程序还可以包括从所述第一块的N个符号的q个符号值中减去所述置换符号的第二符号,并且在减去
之后将其除以所述置换符号的第一符号。
以上描述的系统和方法可以通过由一个或多个处理器执行的计算机程 序来实现。计算机程序可以驻留在计算机可读介质上,例如但不限于存储 器、非易失性存储和/或其他合适的有形存储介质。
本发明的其他适用范围将从下文所提供的详细描述中变得清楚。应当 了解,尽管详细描述和具体示例指示出了本发明的优选实施例,但是其仅 为了说明,而非意图限制本发明的范围。


从详细描述和附图中将更全面地理解本发明,其中
图1A是示出根据本发明原理的示例性编码器的功能框图1B是示出由示例性编码器执行的步骤的流程图2A是示出根据本发明原理的示例性解码器的功能框图2B是示出由示例性解码器执行的步骤的流程图3是示出包括具有图1A-2B的编码器和/或解码器的读信道的磁存 储设备的功能框图4是包括图1A-2B的编码器和/或解码器的数据存储设备的功能框
图5A是DVD驱动器的功能框图; 图5B是高分辨率电视的功能框图; 图5C是车辆控制系统的功能框图; 图5D是蜂窝电话的功能框图; 图5E是机顶盒的功能框图;以及
图5F是移动设备的功能框图。
具体实施例方式
以下的描述实质上仅仅是示例性的,决不意图限制本发明、其应用或 使用。为了清楚起见,相同的参考标号在附图中将用于标识类似的元件。
15这里所使用的术语"模块"、"电路"和域"设备"指的是专用集成电路 (ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享 型、专用型或处理器组)和存储器、组合逻辑电路和/或提供所述功能的其
他合适的部件。这里所使用的短语"A、 B和C中的至少一个"应当被解 释为表示使用非排他性逻辑或的逻辑(A或B或C)。应当了解,方法内 的步骤可以被以不同的顺序执行而不改变本发明的原理。
现在参考图1A,示出了示例性的编码器100。包括各种符号的输入信 号被提供给编码器100。编码器100对输入信号108进行编码并生成输出 信号104,输出信号104被提供给目标设备106。目标设备106可以是若 干不同类型的设备之一,这些不同类型的设备包括诸如非易失性存储器 (例如闪存)、硬盘驱动器之类的存储设备、光学发送器、RF发送器或 者各种其他类型的电子设备。
编码器IOO包括分组模块110,分组模块IIO用于将输入信号108中 的符号分组成具有预定长度的输入块。在输入信号中使用预定数目的可能 符号。计数模块112对当前块或即将到来的块中的可能输入符号的每个符 号值的出现次数进行计数,并且对先前块中的可能符号的数目进行计数或 累积。
置换模块116对来自当前块的计数和来自先前块的符号值的累积出现 进行比较以选择置换。以下给出这些示例。置换模块116在块118中选择 对当前块的置换并且在块120中对当前块应用置换。块118还生成置换函 数索引(z)。输出信号104包括置换函数索引和经置换的当前块。在块 122中调整符号值出现并且在块124中累积符号值的出现。
现在参考图1B,对输入信号108进行编码的方法包括,在步骤140中 确定输入块长度(K)。输入块长度可被选择为系统设计参数。在步骤 142中,输入信号的符号被分组成长度K的块。在步骤144中,当前块中 每个符号值的数目被计数。在步骤146中,先前块中的符号的数目被计 数。在步骤148中,具有索引z的置换被基于当前块和先前块中的计数而 应用。在步骤150中,经编码的输出符号被生成。
在以下描述中,给出了置换的三个示例。在所有示例中,字符表(alphabet)限于符号0、 1、 2和3。使用K-5的输入块长度。以下的输入 信号己被分组并且被给出为
23322 11222 30102。 第一块中的O和l的数目是O。第一块中的2的数目是3并且第一块中的3 的数目是2。因此,符号计数对应于
。第二块中的符号计数是[O 2 3 0]。在本示例中,四种置换fz(x)(其中zE(O, 1,2,3})被定义为
fz(x)=x+z mod 4。
在本示例中,在当前块中最常出现的符号x被映射到在先前块中最少 出现的符号y。这是以上所述的比较。在第二或者说当前块中最常出现的 符号是2,并且迄今为止(在第一块中)最少出现的符号是0。函数fj皮 选择为将2映射到0。因此,在上式中x是2以使得
fz(2)=2+z
02+z
因此,通过针对z来求解,在mod (模)4的情况下2=2。
通过向当前块中的各个符号加上2并且插入置换函数索引,输出是 23322 2 33000。
然后,下一个块30102被以相同的方式改变。在这种方式下,包括置换符 号在内的符号的累积出现计数是[3 0 4 4]。块30102的当前符号计数是[2 1 1 l]。当前块中最常出现的符号是O,并且迄今为止最少出现的符号是1。 因此,fz(0)=0+z=l。于是在这种方式下z=l。通过向每个当前符号加上 1,于是输出变为-
23322 2 33000 1 01213。 每次相加都以mod4执行。
为了对信号进行解码,如以下将在图2A和2B中进一步描述的,以上 是反向执行的。也就是说, 一旦置换函数索引已知,就可以进行反向处 理。这是通过将信号分组成块和置换函数信号并且从紧接在上面的示例中 减去诸如1之类的适当值来执行的。注意, 一个错误可在解码器输出处引 起至多K个符号错误。在本示例中,编码率是K/(K+1)。
置换函数的第二示例用于将当前块中最常出现的两个符号Xl、 X2映射到迄今为止最少出现的两个符号yi、 y2。为了方便,使用第一示例的相同
输入信号、相同字符表和相同域大小。在本示例中,12种置换被给出为
fa,b(x),aE{l,2,3},bE{0, 1,2,3},为 fa,b(x)=ax+b,
其中乘法和加法是在伽罗瓦域GF(4)上执行的。应当注意,Xl、 x2、 yi、 y2 是集合{0, 1,2,3)的成员以使得Xi^X2且yi^y2。然后,可以找到a和b以
使得fa,b(Xihyi且fa,b(X^y2。
在第二或当前块中,最常出现的两个符号是2和1。这些符号被分别 映射到最少出现的两个符号(对应于0和1)。因此,函数索引a和b应 当满足(^2a+b和l=a+b。通过同时求解这些式子,a=2ib=3。输出于是
变为
23322 23 11000。
置换函数索引是就在第二块的置换之前被传送的23。
上述过程然后被应用于第一示例中的第三块。对在当前块之前的先前 块(包括置换函数索引)的符号计数是[3 2 4 3]。对第三块的当前计数是[2 1 1 l]。因此,0被映射到1并且1被映射到0。于是,a^且b-l。编码序 列因此变为
23322 23 11000 11 21013。 在本示例中,编码率是K/(K+2)。
在第三示例中,来自以上的相同示例用于获得置换函数索引12。当前 块中最频繁的符号被映射到迄今为止最不频繁的符号,并且当前块中最不 频繁的符号被映射到迄今为止最频繁的符号。因此,对于第一示例中的符 号,2映射到0且0映射到2。经编码的序列变为
23322 12 33000。
其中12是置换函数索引。从以上得出,符号计数是[3 1 4 4]。因此,函数 将0映射到1并且将1映射到2。最终的经编码序列变为 23322 12 33000 31 31210。
以下给出上述示例的一般描述。在本示例中,使八={0, 1, ...,q-l)表示 大小为q的字符表。使F是A上的一组置换。选择长度为K的输入块。首先,将输入流子划分为长度K的块:<formula>formula see original document page 19</formula>
其中Ui可被写为w;t4...4。将经编码流初始化为^U1。对所有XEA计算C
中的符号计数nv其中mx是x在c中出现的次数。
然后,计算即将到来的块112的符号计数<。基于mx和^,选择来自 F的置换/。置换的选择可以通过长度「k)g《(lFl),个符号的序列z来描述。
(也就是说,z是/在F中的索引。)将<("12)/("22).../(《)附加到经编码的 序列。重新计算符号计数nv重复该处理,直到所有的输入块被编码。
解码器将^设置为Clc2...ck。对于每个后续的块,基于相应的序列z 来选择适当的置换。用户数据是通过对经编码序列中的相应符号使用逆置 换而获得的。
可以通过选取将^中的r个最频繁的符号映射到mx中最不频繁的符 号并且将^中的s个最不频繁的符号映射到mx中最频繁的符号来选择置 换。(注意,(r,s)在示例l、 2和3中分别是(1,0)、 (2,0)和(1,1)。)
这种编码技术的主要结果被给出。假定块长度K和块的数目很大。将
y定义为经编码序列中的符号分数(symbol fraction)上的最小值 =.x在经编码序列中出现的次数 ,_ , 经编码序列长度 。
如果(q+s-rf-4qs《1,则r=l/q,即,每个符号大约出现相同的次数。如果
(q+s_r)2_4qS>2,贝廿<formula>formula see original document page 19</formula>
其中,q:字符表集合中符号的数目 F最大符号至最小符号的数目 5=最小[符号]至最大[符号]的数目 7=所见的符号的数目最小比率。 上述变量的各种值在下表中给出
表l:针对q、 r和s的各种值的最小分数7(W)-(l,O)(/%力=(2,0)(,,"=(3,0)(r,s) = (2,0)
41/62/91/41/41/4
51/91/63/161/61/5
61/121/83/201/91/6
了1/161/103/251/121/8
81/202/251/101/16詣
9V251/151/121/202/25
101/301/181/141/251/15
111/361/213/491/301/18
121/422/493/5 S1/361/21
131/491/283/641/422/49
141/561/321/241/491/28
151/641/361/271/561/32
161/722/811/301/641/36
总之,编码采用q元符号序列作为输入并且输出被平衡过的q元符号 序列。值q〉2并且值mx是每个q可能符号在输出序列中的出现频率,其 中x=0, 1, ..., q-l。输出序列满足以下条件中的至少之一
0<min(mx)<=l/q l/q<=max(mx)<l
max(mx)-min(mx)<o;,其中a是在范围0<=o<l内的设计参数。 对于未编码的q元序列,可能min(mx)=0 (即,某个符号根本未出现在序 列中)或者maX(mx)=l (即,序列仅由一个符号构成)。这些可以被去除 以在输出处消除这种序列。
现在参考图2A,示出了解码器180。解码器180从目标设备106接收 输入信号182。输入信号182被传送到分组模块184,分组模块184将输 入信号分组成块和置换函数索引。在步骤186中,置换模块186接收置换 函数索引和块,并且通过反转与置换模块186中的置换函数符号相对应的 置换函数来生成经解码的输出符号。
现在参考图2B,示出了用于操作解码器180的方法。解码器180执行 编码器的置换的反转。在步骤200中,输入信号被分组成多个块。在步骤 202中,来自输入信号的置换函数索引被确定。在步骤204中,置换函数 被根据反转的置换函数索引而应用于块。在步骤206中,输出符号被生 成。根据第一示例,在置换模块186中的置换函数之后,置换函数索引被 从块中减去。
在第二示例中,置换模块186从置换符号之后的第一块的每个符号中
20减去两个符号置换符号中的第二符号,并且将结果除以置换函数索引的第 一符号。
现在参考图3,示出了示例性的磁存储系统310 (例如硬盘驱动
器)。缓冲器314存储与硬盘驱动器的控制相关联的数据,并且/或者缓冲 数据以针对增大的传输速度来优化块大小。缓冲器314可以采用SDRAM 或者其他类型低延迟存储器。处理器316执行与硬盘驱动器的操作有关的 处理。硬盘控制器(HDC) 318与缓冲器314、处理器316、主轴/音圈电 动机(VCM)驱动器320和/或读/写信道电路324通信。读/写信道电路 324包括如上所述的编码器100和/或解码器180。主机326向HDC 318发 送数据读/写请求。
在写操作期间,读/写信道电路(或者读信道电路)324对将被写入到 存储介质上的数据进行编码。读/写信道电路324为了可靠性而处理信号, 并且执行编码/解码。在读操作期间,读/写信道电路324将来自介质的模 拟输出转换为数字信号。转换后的信号然后被通过已知的技术来检测并解 码以恢复写在硬盘驱动器上的数据。
一个或多个盘片328包括存储磁场的磁涂层。盘片328通过在330处 示意性地示出的主轴电动机而被旋转。 一般地,主轴电动机330在读/写操 作期间以固定速度来旋转盘片328。 一个或多个读/写臂334相对于盘片 328运动,以向/从盘片328读和/或写数据。主轴/VCM驱动器320控制对 盘片328进行旋转的主轴电动机330。主轴/VCM驱动器320还生成控制 信号,这些控制信号例如利用音圈致动器、步进电动机或任何其他合适的 致动器来定位读/写臂334。
读/写设备336位于读/写臂334的远端附近。读/写设备336包括诸如 电感器之类的生成磁场的写元件。读/写设备336还包括感测盘片328上的 磁场的读元件(例如磁阻(MR)传感器)。前置放大器(preamp) 340对 模拟读/写信号进行放大。在读数据时,前置放大器340将来自读元件的低 电平信号放大并且将放大后的信号输出到读/写信道电路324。前置放大器 340可以包括高通放大器。在写数据时,流经读/写信道电路324的写元件 的写电流被切换以产生具有正或负极性的磁场。正或负极性被盘片328存储并且用于表示数据。
根据其他实施例,数据编码系统可被并入图4所示的其他存储设备 中。存储设备可以是磁性、光学或其他合适的存储设备/介质。本发明也可 以用在任何数据通信信道中。其他的应用对于本领域技术人员将会是显而 易见的。
现在参考图5A-5E,示出结合了本发明的教导的各种示例性实现方式。
现在参考图5A,本发明的教导可被实现在DVD驱动器418或CD驱 动器(未示出)的编码器和解码器中。DVD驱动器418包括DVD PCB 419禾B DVD组装件(DVDA) 420。 DVD PCB 419包括DVD控制模块 421、缓冲器422、非易失性存储器423、处理器424、主轴/FM (进给电 动机)驱动器模块425、模拟前端模块426、写策略模块427和DSP模块 428。
DVD控制模块421控制DVDA 420的部件,并且经由1/0接口 429与 外部设备(未示出)通信。外部设备可以包括计算机、多媒体设备、移动 计算设备等等。1/0接口 429可以包括有线和/或无线通信链路。
DVD控制模块421可以从缓冲器422、非易失性存储器423、处理器 424、主轴/FM驱动器模块425、模拟前端模块426、写策略模块427、 DSP模块428禾卩/或I/0接口 429接收数据。DSP模块428执行信号处理, 例如视频和/或音频编码/解码。经处理的数据可以被输出到缓冲器422、非 易失性存储器423、处理器424、主轴/FM驱动器模块425、模拟前端模块 426、写策略模块427、 DSP模块428禾口/或I/O接口 429。
DVD控制模块421可以使用缓冲器422和/或非易失性存储器423来 存储与DVD驱动器418的控制和操作有关的数据。缓冲器422可以包括 DRAM、 SRAM等等。非易失性存储器423可以包括闪存(包括NAND和 NOR闪存)、相变存储器、磁RAM或多态存储器,在多态存储器中每个 存储单元具有多于两种状态。DVD PCB 419包括向DVD驱动器418的部 件提供电力的电源430。
DVDA 420可以包括前置放大器设备431、激光驱动器432和光学设备433,光学设备433可以是光学读/写(ORW)设备或者光学只读 (OR)设备。主轴电动机434对光学存储介质435进行旋转,并且进给电 动机436相对于光学存储介质435来致动光学设备433。
当从光学存储介质435读数据时,激光驱动器向光学设备433提供读 电力。光学设备433检测来自光学存储介质435的数据,并且将数据传送 到前置放大器设备431。模拟前端模块426接收来自前置放大器设备431 的数据,并且执行诸如滤波和A/D转换之类的功能。为了写入到光学存储 介质435中,写策略模块427向激光驱动器432传送功率电平和定时信 息。激光驱动器432控制光学设备433来向光学存储介质435写入数据。
现在参考图5B,本发明的教导可被实现在高清晰度电视(HDTV) 437的大容量数据存储装置的编码器和解码器中。HDTV 437包括HDTV 控制模块438、显示装置439、电源440、存储器441、存储设备442、 WLAN接口 443和相关天线444以及外部接口 445。
HDTV 437可以从WLAN接口 443和/或外部接口 445接收输入信号, 外部接口 445经由缆线、宽带因特网和/或卫星来发送并接收信息。HDTV 控制模块438可以处理输入信号(包括编码、解码、滤波和/或格式化)并 且生成输出信号。输出信号可以被传送到显示装置439、存储器441、存 储设备442、 WLAN接口 443和外部接口 445中的一个或多个。
存储器441可以包括随机存取存储器(RAM)和/或诸如闪存之类的 非易失性存储器、相变存储器或多态存储器,在多态存储器中每个存储单 元具有多于两种状态。存储设备442可以包括诸如DVD驱动器之类的光 学存储驱动器和/或硬盘驱动器(HDD) 。 HDTV控制模块438经由 WLAN接口 443和/或外部接口 445而与外部通信。电源440向HDTV 437 的部件提供电力。
现在参考图5C,本发明的教导可被实现在车辆446的大容量存储装置 的编码器和解码器中。车辆446可以包括车辆控制系统447、电源448、 存储器449、存储设备450以及WLAN接口 452和相关天线453。车辆控 制系统447可以是动力系控制系统、车体控制系统、娱乐控制系统、防抱 死制动系统(ABS)、导航系统、远程信息系统、车道偏离系统和自适应巡航控制系统等。
车辆控制系统447可以与一个或多个传感器454通信,并且生成一个 或多个输出信号456。传感器454可以包括温度传感器、加速度传感器、 压力传感器、旋转传感器、气流传感器等等。输出信号456可以控制引擎 运行参数、传动装置运行参数、悬架参数等等。
电源448向车辆446的部件提供电力。车辆控制系统447可以将数据 存储在存储器449和/或存储设备450中。存储器449可以包括随机存取存 储器(RAM)和/或诸如闪存之类的非易失性存储器、相变存储器或多态 存储器,在多态存储器中每个存储单元具有多于两种状态。存储设备450 可以包括诸如DVD驱动器之类的光学存储驱动器和/或硬盘驱动器 (HDD)。车辆控制系统447可以经由WLAN接口 452与外部通信。
现在参考图5D,本发明的教导可被实现在蜂窝电话458的大容量数 据存储装置的编码器和解码器中。蜂窝电话458包括电话控制模块460、 电源462、存储器464、存储设备466和蜂窝网络接口 467。蜂窝电话458 可以包括WLAN接口 468和相关天线469、麦克风470、诸如扬声器和/或 输出插孔之类的音频输出472、显示装置474和诸如小键盘和/或点选设备 之类的用户输入设备476。
电话控制模块460可以从蜂窝网络接口 467、 WLAN接口 468、麦克 风470和/或用户输入设备476接收输入信号。电话控制模块460可以处理 信号(包括编码、解码、滤波和/或格式化)并且生成输出信号。输出信号 可以被传送到存储器464、存储设备466、蜂窝网络接口 467、 WLAN接 口 468和音频输出472中的一个或多个。
存储器464可以包括随机存取存储器(RAM)和/或诸如闪存之类的 非易失性存储器、相变存储器或多态存储器,在多态存储器中每个存储单 元具有多于两种状态。存储设备466可以包括诸如DVD驱动器之类的光 学存储驱动器和/或硬盘驱动器(HDD)。电源462向蜂窝电话458的部件 提供电力。
现在参考图5E,本发明的教导可被实现在机顶盒478的大容量数据存 储装置的编码器和解码器中。机顶盒478包括机顶控制模块480、显示装置481、电源482、存储器483、存储设备484以及WLAN接口 485和相 关天线486。
机顶控制模块480可以从WLAN接口 485和外部接口 487接收输入信 号,外部接口 487可以经由缆线、宽带因特网和/或卫星来发送并接收信 息。机顶控制模块480可以处理输入信号(包括编码、解码、滤波和/或格 式化)并且生成输出信号。输出信号可以包括标准和/或高清晰度格式的音 频和/或视频信号。输出信号可以被传送到WLAN接口 485和/或显示装置 481。显示装置481可以包括电视、投影仪和/或监视器。
电源482向机顶盒478的部件提供电力。存储器483可以包括随机存 取存储器(RAM)和/或诸如闪存之类的非易失性存储器、相变存储器或 多态存储器,在多态存储器中每个存储单元具有多于两种状态。存储设备 484可以包括诸如DVD驱动器之类的光学存储驱动器和/或硬盘驱动器 (HDD)。
现在参考图5F,本发明的教导可被实现在移动设备489的大容量数据 存储装置的编码器和解码器中。移动设备489包括移动设备控制模块 490、电源491、存储器492、存储设备493、 WLAN接口 494和相关天线 495以及外部接口 499。
移动设备控制模块490可以从WLAN接口 494和/或外部接口 499接 收输入信号。外部接口 499可以包括USB、红外和/或以太网。输入信号 可以包括经压縮的音频和/或视频,并且可以遵从MP3格式。另外,移动 设备控制模块490可以从诸如小键盘、触摸板或个体按钮之类的用户输入 496接收输入。移动设备控制模块490可以处理输入信号(包括编码、解 码、滤波和/或格式化)并且生成输出信号。
移动设备控制模块490可以向音频输出497输出音频信号并向显示装 置498输出视频信号。音频输出497可以包括扬声器和/或输出插孔。显示 装置498可以提供图形用户界面,图形用户界面可以包括菜单、图标等 等。电源491向移动设备489的部件提供电力。存储器492可以包括随机 存取存储器(RAM)和/或诸如闪存之类的非易失性存储器、相变存储器 或多态存储器,在多态存储器中每个存储单元具有多于两种状态。存储设
25备493可以包括诸如DVD驱动器之类的光学存储驱动器和/或硬盘驱动器 (HDD)。移动设备可以包括个人数字助理、媒体播放器、膝上型计算 机、游戏机或者其他移动计算设备。
本领域技术人员现在可以从前述描述中获悉,本发明的教导可被以各 种形式实现。因此,尽管本发明包括特定示例,但是本发明的真正范围不 应当被如此限制,这是因为在研究了附图、说明书和所附权利要求书之 后,其他修改对于本领域技术人员而言将变得显而易见。
权利要求
1. 一种编码器,包括分组模块,该分组模块将输入信号分组成多个块,其中所述多个块包括当前块和至少一个先前块,其中所述多个块中的每一个包括至少N个符号,并且其中所述N个符号的每一个具有q个符号值中的一个,其中N是正整数并且q是大于2的整数;计数模块,该计数模块对所述至少一个先前块中的q个符号值的出现进行计数以生成第一计数,并且对所述当前块中的q个符号值的出现进行计数以生成第二计数;以及置换模块,该置换模块基于所述第一计数和所述第二计数来选择性地置换所述当前块。
2. 如权利要求1所述的编码器,其中,所述置换模块在置换所述当前 块中的N个符号时,将所述当前块中最频繁的符号x映射到所述至少一个 先前块中的最不频繁的符号y。
3. 如权利要求2所述的编码器,其中,所述置换模块应用以下的关系 y=X+zmodq,其中x是输入置换,y是输出置换且z是置换的选择。
4. 如权利要求2所述的编码器,其中,所述置换模块在置换所述当前块中的N个符号时,将所述当前块中两个最频繁的符号Xl、 X2映射到所述至少一个先前块中的两个最不频繁的符号y" y2。
5. 如权利要求4所述的编码器,其中,所述置换模块在GF(q)中针对a 禾口 b来求角军y产ax^b禾口 y2=ax2+b。
6. 如权利要求2所述的编码器,其中,所述置换模块在置换所述当前 块中的N个符号时,将所述当前块中最频繁的符号映射到所述至少一个先 前块中第二最不频繁的符号,并且将所述当前块中最不频繁的符号映射到 所述至少一个先前块中最频繁的符号。
7. —种系统,包括权利要求1所述的编码器并且还包括目标设备。
8. 如权利要求7所述的系统,其中,所述目标设备包括发送器。
9. 如权利要求7所述的系统,其中,所述目标设备包括存储设备。
10. 如权利要求9所述的系统,其中,所述存储设备包括非易失性存 储器。
11. 如权利要求9所述的系统,其中,所述存储设备包括硬盘驱动器。
12. 如权利要求1所述的编码器,其中,所述置换模块将所述当前块 中r个最频繁的符号映射到迄今为止的最不频繁的符号,并且将所述当前 块中s个最不频繁的符号映射到迄今为止的最频繁的符号,其中r和s大 于或等于零。
13. —种具有q元符号序列输入信号的系统,其中q>2,所述系统包括编码器,该编码器生成被平衡过的、非二进制的q元输出符号序列, 并且其中mx是每个q可能符号在输出序列中的出现频率,其中xK), 1,q-l,其中,所述编码器生成满足以下条件0<min(mx)<=l/q 、 l/q<=max(mx)<l禾卩max(mx)-min(mx)<Q!中的至少之一的输出符号序列,其 中a是在范围0<=(K1内的设计参数。
14. 一种编码方法,包括将输入信号分组成多个块,其中所述多个块包括当前块和至少一个先 前块,其中所述多个块中的每一个包括至少N个符号,并且其中所述N个 符号的每一个具有q个符号值中的一个,其中N是正整数并且q是大于2 的整数;对所述至少一个先前块中的q个符号值的出现进行计数以生成第一计 数,并且对所述当前块中的q个符号值的出现进行计数以生成第二计数; 以及基于所述第一计数和所述第二计数来选择性地置换所述当前块。
15. 如权利要求14所述的方法,还包括在置换所述当前块中的N个 符号时,将所述当前块中最频繁的符号x映射到所述至少一个先前块中的 最不频繁的符号y。
16. 如权利要求14所述的方法,其中,选择性地置换步骤包括应用以下的关系"x+z mod q,其中x是输入置换,y是输出置换且z是置换的选 择。
17. 如权利要求14所述的方法,其中,置换步骤包括在置换所述当前块中的N个符号时,将所述当前块中两个最频繁的符号Xl、 X2映射到所述至少一个先前块中的两个最不频繁的符号y!、 y2。
18. 如权利要求14所述的方法,其中,置换步骤包括针对a和b来求 解y产ax一b禾口 y2=ax2+b。
19. 如权利要求14所述的方法,其中,置换步骤包括在置换所述当 前块中的N个符号时,将所述当前块中最频繁的符号映射到所述至少一个 先前块中第二最不频繁的符号,并且将所述当前块中最不频繁的符号映射 到所述至少一个先前块中最频繁的符号。
20. 如权利要求14所述的方法,其中,置换步骤包括将所述当前块 中r个最频繁的符号映射到迄今为止的最不频繁的符号,并且将所述当前 块中s个最不频繁的符号映射到迄今为止的最频繁的符号,其中r和s大 于或等于零。
21. —种操作具有q元符号序列输入信号的编码器的方法,其中q〉2, 所述方法包括生成被平衡过的、非二进制的q元输出符号序列,并且其中mx是每 个q可能符号在输出序列中的出现频率,其中f0, l,...,q-l;以及在输出符号序列中满足以下条件0<min(mx)<=l/q、 l/q<=max(mx)<l和 max(mx)-min(mx)<0!中的至少之一,其中a是在范围0<=cKl内的设计参数。
22. —种解码器,包括分组模块,该分组模块将输入信号分组成多个块和多个置换符号,其中所述多个块包括N个符号,并且其中所述N个符号中的每一个具有q个 符号值中的一个,其中q和N是大于2的整数;以及置换模块,该置换模块基于所述多个置换符号之一来逆置换所述多个 块中的第一块,并且基于该置换来生成经解码的输出信号。
23. 如权利要求22所述的解码器,其中,所述第一块被布置为邻近所述置换符号。
24. 如权利要求22所述的解码器,其中,所述置换符号被加到所述第 一块的N个符号的q个符号值的每一个中或者被从所述第一块的N个符号 的q个符号值的每一个中减去。
25. 如权利要求22所述的解码器,其中,所述置换模块从所述第一块 的N个符号的q个符号值中减去所述置换符号的第二符号,并且在减去之 后将其除以所述置换符号的第一符号。
26. —种系统,包括权利要求22所述的解码器并且还包括目标设备。
27. 如权利要求26所述的系统,其中,所述目标设备包括接收器。
28. 如权利要求26所述的系统,其中,所述目标设备包括存储设备。
29. 如权利要求28所述的系统,其中,所述存储设备包括非易失性存 储器。
30. 如权利要求28所述的系统,其中,所述存储设备包括硬盘驱动器。
31. —种解码方法,包括将输入信号分组成多个块和多个置换符号,其中所述多个块包括N个 符号并且其中所述N个符号中的每一个具有q个符号值中的一个,其中q 和N是大于2的整数;以及基于所述多个置换符号之一来逆置换所述多个块中的第一块,并且基 于该置换来生成经解码的输出信号。
32. 如权利要求31所述的方法,还包括将所述第一块布置为邻近所述 置换符号。
33. 如权利要求31所述的方法,还包括将所述置换符号加到所述第一 块的N个符号的q个符号值的每一个中或者将所述置换符号从所述第一块 的N个符号的q个符号值的每一个中减去。
34. 如权利要求31所述的方法,还包括从所述第一块的N个符号的q 个符号值中减去所述置换符号的第二符号,并且在减去之后将其除以所述 置换符号的第一符号。
35. —种用于解码的方法,包括将输入信号分组成多个块和多个置换符号,其中所述多个块包括.N个符号并且其中所述N个符号中的每一个具有q个符号值之一,其中q和N 是大于2的整数;以及基于所述多个置换符号之一来逆置换所述多个块中的第一块,并且基 于该置换来生成经解码的输出信号。
36. 如权利要求35所述的方法,还包括将所述第一块布置为邻近所述 置换符号。
37. 如权利要求35所述的方法,还包括将所述置换符号加到所述第一 块的N个符号的q个符号值的每一个中或者将所述置换符号从所述第一块 的N个符号的q个符号值的每一个中减去。
38. 如权利要求35所述的方法,还包括从所述第一块的N个符号的q 个符号值中减去所述置换符号的第二符号,并且在减去之后将其除以所述 置换符号的第一符号。
全文摘要
一种编码器和解码方法包括分组模块,该分组模块将输入信号分组成多个块,其中所述多个块包括当前块和至少一个先前块,其中所述多个块中的每一个包括至少N个符号,并且其中所述N个符号的每一个具有q个符号值中的一个,其中N是正整数并且q是大于2的整数。所述编码器还包括计数模块,该计数模块对所述至少一个先前块中的q个符号值的出现进行计数以生成第一计数,并且对当前块中的q个符号值的出现进行计数以生成第二计数。所述编码器还包括置换模块,该置换模块基于第一和第二计数来选择性地置换当前块。
文档编号H04L25/49GK101449533SQ200780018546
公开日2009年6月3日 申请日期2007年3月20日 优先权日2006年3月20日
发明者吴子宁, 帕努·柴查阿望 申请人:马维尔国际贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1