CN101729198A - 一种编解码方法、装置及系统 - Google Patents
一种编解码方法、装置及系统 Download PDFInfo
- Publication number
- CN101729198A CN101729198A CN200810217109A CN200810217109A CN101729198A CN 101729198 A CN101729198 A CN 101729198A CN 200810217109 A CN200810217109 A CN 200810217109A CN 200810217109 A CN200810217109 A CN 200810217109A CN 101729198 A CN101729198 A CN 101729198A
- Authority
- CN
- China
- Prior art keywords
- code word
- designator
- counter
- rotating
- disparity
- 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
- Dc Digital Transmission (AREA)
Abstract
本发明公开一种编解码方法、装置及系统,其中所述编码方法包括以下步骤:首先在数据流中划分码字,然后依次对码字进行处理,包括对码字进行反转以及插入指示符,在对码字进行处理完成后对码字分组确定码字组,并在码字组前进行同步头处理;所述解码方法包括以下步骤:首先在数据流中提取同步头,然后在剩下的数据流中提取指示符并确定码字,并依次对码字进行处理。本发明能有效控制数据流中连“1”及连“0”字节的出现,有编码开销小以及读写速度快等优点。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种编解码方法、装置及系统。
技术背景
在光传输系统中,如果将信源产生的数字信号经自然编码然后直接调制到光载波上的方式进行传输,往往会产生一些问题,如:可能出现连“0”或连“1”的数据这样会导致出现长时间不变的低电平或高电平;而对于接收端而言,从接收到的这种基带信号中无法判断是否包含有错码。
因此,希望传输的信号最好是DC平衡信号,也就是数据流的“1”和“0”分布均衡,控制传输的数据流的连续相同比特数(CID)尽可能的小,或者说数据流的游程值RD(run length)最小。
目前常用的线路编码有:扰码、8B10B编码、64B66B编码以及9B10B编码等,扰码以不用增加多余的码元而是搅乱信号,改变数字信号的统计特性为主要特点,但是不能完全控制长串连“1”和长串连“0”数据的出现,信号频谱中接近于直流的分量较大。8B10B作为分组编码的代表性编码,将一个8-bit码字通过编码表映射为另一个10-bit长的码字,虽然可以获得很好的直流平衡和游程控制特性,但是其高达25%的编码开销给传输系统造成较大负担,特别是在高速通信系统中。64B66B编码作为一种应用于10G以太网的线路编码,插入同步比特和扰码,有助于时钟提取,具有一定的游程控制能力(其最大游程为65bit),但是却不能兼顾DC平衡特性。9B10B线路编码,一种类似于8B10B的分组编码,编码时将输入比特流分为9-bit一组的码字,通过设计的编码表将9-bit的码字映射为10-bit的码字。编码表的设计将每个编码后的码字的“1”“0”偏差(Disparity)控制在±4之内,且“1”“0”偏差为±4、±2的10-bit码字成对出现,即一个9-bit码字所映射的10-bit码字其“1”“0”偏差可能是+4和-4,或者+2和-2,或者0。在具体编码时,根据累积计算的所有所编码码字的“1”“0”行程偏差(running disparity),动态地选择“1”“0”偏差为正或为负的10-bit编码码字,有效地控制整个编码数据流的“1”“0”分布,达到DC平衡,此编码的最大游程为10bit,编码开销为11%。
9B10B解码时通过查编码表直接将10-bit码字映射成9-bit码字。作为分组编码,由于传输误码所造成的10-bit码字中的1个或几个bit的错误,在解码时10-bit码字将被映射为另一个错误的9-bit码字或无相应解码,而导致误码增殖问题。
发明内容
本发明主要解决数据流中出现连“1”或者连“0”的现象,同时为了节省编码开销,降低解码时的误码增殖概率以及提高编码解码的速度。
本发明提供一种编码方法,所述编码方法包括以下步骤:
以M比特为单位将数据流划分为码字,其中M为正整数;
依次计算码字的“1”和“0”的偏差Disparity与行程偏差RD,如果所述Disparity的值和所述RD的值极性相同,则反转所述码字,如果所述Disparity的值和所述RD的值极性相反或所述Disparity的值为0,则不反转所述码字,处理完后插入反转指示符;
划分码字确定码字组并插入同步信息。
同时本发明相应提供一种解码方法,该解码方法包括以下步骤:
提取数据流中的同步信息;
每隔M比特提取反转指示符;
以M比特为单位确定码字,其中M为正整数;
依次计算码字的Disparity,如果所述Disparity的值非0,且根据对应反转指示符对所述码字进行反转处理,如果所述反转指示符指示所述码字发生了反转,则反转所述码字。
本发明还提供一种编码装置,该装置包括:
接收模块:用于接收数据流,并将数据流送到编码模块中进行编码处理;
编码模块,用于对数据流进行编码,包括对码字进行反转处理、插入反转指示符和插入同步信息;
发送模块:用于发送经编码模块编码的数据流。
相应的本发明提供一种解码装置,该装置包括:
接收模块:用于接收数据流,并将数据流送到解码模块中进行解码处理;
解码模块,用于对数据流进行解码,包括提取反转指示符和同步信息以及根据反转指示符对码字进行反转处理;
发送模块:用于发送经解码模块解码的数据流。
本发明还提供了一种编解码的系统,包括:
编码装置:对数据流进行编码,包括对码字进行反转处理和插入反转指示符、划分码字组以及插入同步信息;
解码装置:用于对经过编码装置编码的数据流进行解码,包括提取同步信息、提取反转指示符以及对码字进行反转处理。
本发明通过对数据流进行反转处理,能有效的控制连“1”和连“0”数据流的出现,使得编码后的数据流为DC平衡信号,同时在编码和解码过程只需要对码字进行反转,同时插入指示符来对反转进行记录,在编码解码过程中不需要查询编码解码表,有效的降低编码解码开销的问题,同时由于不需要查询编码解码表,因此编码解码速度得到了加快。
附图说明
图1为编码步骤方框图;
图2为对码字处理步骤方框图;
图3为对码字处理过程示意图;
图4为反转处理过程示意图;
图5为解码步骤方框图;
图6为编码装置示意图;
图7为解码装置示意图;
图8为编解码系统示意图。
具体实施方式
以下将结合附图,对本发明进行清楚、完整的描述:
本发明提供的第一个实施例是一种编码方法,该编码方法用于数据通过物理层媒介发送出去之前,具体步骤如图1所示:
步骤101:将数据流存入缓存寄存器,并按照M(M为正整数)比特为单位划分码字;
步骤102:对数据流进行处理,依次处理第101步划分的码字,每个所处理的码字为当前码字,具体包括计算从编码数据流复位开始到当前码字前的所有“1”“0”个数差的值(Run Disparity,行程偏差RD)、计算当前码字的Disparity值以及反转处理;
步骤103:在步骤102处理完当前码字后插入指示符,指示码字的处理详细情况;
对码字处理过程如图3所示,在该实施例中M取12,其中,D0、D1、D2......D11依次表示当前码字的从低位到高位的12个比特,计算Disparity和RD后,经过反转操作后变成码字的每一位依次变成S1、S2、......S11,同时插入指示符指示对当前码字进行的操作,此时的码字有13比特。对码字的处理具体包括以下步骤:
步骤1021:计算当前码字前的RD值,该值作为当前码字是否反转的判断依据之一;
步骤1022:计算当前码字的Disparity值,并与第1021步计算的RD值一起判断是否反转当前码字;
步骤1023:根据1021和1022得出的RD值和Disparity值判断是否反转当前码字,假设当前码字前RD值为+1,如图4所示:
如果当前码字的Disparity与RD的极性相同(同为“正”,或同为“负”),反转该码字的每个比特,其中反转为“1”反转为“0”,“0”反转得到“1”,反转后的码字Disparity的极性将反向,在码字后插入1bit指示符“1”,累加计算RD值;
如果当前码字的Disparity与RD的极性相反(RD为负,Disparity为正,或者RD为正,Disparity为负),则不反转该码字,在码字后插入1bit指示符“0”,累加计算RD值;
如果当前码字的Disparity为0,根据码字最后1个bit的值,如果最后1bit为“1”,在码字后插入1bit“0”,如果最后1bit为“0”,在码字后插入1bit“1”;RD不变。
步骤104:经过步骤103对所有码字进行处理完成后,每N(N为正整数)个码字包括指示符划分为一组,分组后的一组码字为码字组;
在该实施例中N取17,既将第103步骤处理后的码字每17个划分为一组,因此每组码字组有17*13比特。
步骤105:依次对分组后的码字组进行同步头处理,所处理的码字组为当前码字组,先判断当前码字组是否包含控制符,如果当前码字组为数据块,则在当前码字组前插入“01”同步头,如果当前码字组包含控制符,则在当前码字组前插入“10”同步头;
在该步骤中,由于在第104步骤划分码字组后每个码字组有17*13个比特,因此增加同步头后的码字组有223(17*13+2)比特。
步骤106:编码结束,发送编码后的数据流。
采用此实施例编码还有利于与FEC编码结合使用,例如线路编码后,采用RS(255,223)的FEC编码,在每8个码字组(223个比特)后插入32字节校验位。
本发明的第二个实施例为第一个实施例对应的解码方法,在收到编码后的数据后,采用相应的解码方法对数据流进行解码,如图5所示,步骤如下:
步骤501:每隔17*13比特搜索数据流中的同步头,进行码字同步,即连续搜索到x个(本实施例中x取为8)正确的同步头后,认为码字组同步,提取同步头后每隔17*13比特为一个码字组;
步骤502:每隔13比特提取数据流中的指示符,则每个指示符前的12比特为一个码字;
步骤503:依次对划分的码字进行处理,正在进行处理的码字为当前码字,根据当前码字对应的指示符以及当前码字的Disparity值对当前码字进行处理:
如果当前码字的Disparity值非0,且对应指示符为“1”,则反转当前码字,如果对应指示符为“0”,则不反转当前码字;
如果当前码字的Disparity值为0,则不反转当前码字。
步骤504:解码完成。
本发明第三个实施例提供一种编码装置,如图6所示,该装置能对数据流进行编码,包含编码模块602、接收模块601以及发送模块603,接收模块601接收数据流并将数据流送到编码模块602中进行编码处理,编码模块602对数据流划分确定码字,同时计算码字的RD值以及Disparity值,根据这两个值对码字进行处理,包括反转操作,处理完成后在对应码字后插入指示符记录对码字的操作。
在对码字进行处理完成后编码模块602对码字重新进行分组,确定码字组,对确定的码字组进行同步头处理,如果码字组是数据块则在对应码字组前插入“01”同步头,如果对应码字组包含控制符,则在对应码字组前插入“10”同步头,编码完成后将数据通过发送模块603发送出去。
本发明第四个实施例提供了一种解码装置,如图7所示,该装置能对数据流进行解码,包含接收模块701、解码模块702以及发送模块703,其中接收模块701用于接收数据流并将数据流送到解码模块702进行解码,解码模块702收到数据流后首先搜索同步头,实现码字组同步,提取同步头,然后在剩下的数据流中提取指示符并确定码字,根据对应的指示符以及码字的Disparity值对码字进行处理,处理完成后通过发送模块703将解码后的数据流发送出去。
本发明第五个实施例提供了一种编码解码系统,该系统包括编码装置801和解码装置802,如图8所示,编码装置801在对数据流进行编码时,首先每隔12比特将数据流划分为码字;在划分码字后依次计算码字的RD和Disparity,并根据所述RD和Disparity的值对码字进行反转处理,处理完成后插入1比特指示符;在对所有划分的码字进行处理完后,将码字以17个为一组划分为码字组,并对码字组进行同步头处理,如果码字组为数据块则在码字组前添加“01”同步头;如果码字组包含控制块,则在码字组前添加“10”同步头。数据流在经过编码装置编码后将通过网络89发送出去。
在另一端,解码装置802从网络89收到数据流后,首先需要对数据流进行解码,
每隔(12+1)*17比特搜索提取数据流中的同步头;然后在提取同步头后的数据流中每隔12比特提取数据流中的指示符,再在提取指示符后的数据流中每隔12比特将数据流划分为码字;依次计算码字的Disparity,并根据所述Disparity的值和对应码字的反转指示符对码字进行反转处理,如果指示符指示当前码字进行了反转操作,则将当前码字反转。否则,不反转当前码字。
通过以上实施例可以看出,采用本发明所描述的方法及装置对数据流进行编码和解码时不需要查询编解码表,因此具备很好的读写速度;同时本发明所描述的方法及装置在对码字进行处理时通过插入指示符以及对码字进行组合,在组合的基础上添加同步头,能够有效的节省编码开销;而在控制数据流中连“0”或连“1”的问题上,通过采用反转的方法,使得在数据流中“1”和“0”出现的次数达到平衡,获得了很好的游程性能。
以上公开的仅为本发明的几个具体实施例,但是,本发明并非局限于此,任何本领域的技术人员能思之的变化都应落入本发明的保护范围。
Claims (12)
1.一种编码方法,其特征在于,包括以下步骤:
以M比特为单位将数据流划分为码字,其中M为正整数;
依次计算码字的“1”和“0”的偏差Disparity与行程偏差RD,如果所述Disparity的值和所述RD的值极性相同,则反转所述码字,如果所述Disparity的值和所述RD的值极性相反或所述Disparity的值为0,则不反转所述码字,处理完后插入反转指示符;
划分码字确定码字组并插入同步信息。
2.根据权利要求1所述的编码方法,其特征在于,所述分组码字确定码字组并插入同步信息具体包括:以每N个码字为一组划分码字组,并依次为码字组添加同步头,其中N为正整数。
3.根据权利要求1所述的编码方法,其特征在于,所述反转为依次对码字的每一位取反。
4.一种解码方法,其特征在于,包括以下步骤:
提取数据流中的同步信息;
每隔M比特提取反转指示符;
以M比特为单位确定码字,其中M为正整数;
依次计算码字的Disparity,如果所述Disparity的值非0,且根据对应反转指示符对所述码字进行反转处理,如果所述反转指示符指示所述码字发生了反转,则反转所述码字。
5.根据权利要求4所述的解码方法,其特征在于,所述提取数据流中的同步信息包括每隔(M+1)*N比特提取数据流中的同步头,其中M、N为正整数。
6.一种编码装置,其特征在于,所述编码装置包括:
接收模块:用于接收数据流,并将数据流送到编码模块中进行编码处理;
编码模块,用于对数据流进行编码,包括对码字进行反转处理、插入反转指示符和插入同步信息;
发送模块:用于发送经编码模块编码的数据流。
7.根据权利要求6所述的编码装置,其特征在于,所述编码模块对码字进行反转处理以及插入反转指示符具体包括:
计算码字的Disparity和RD,如果所述Disparity值与RD值极性相同,则反转所述码字,同时在所述反转后的码字后插入1比特反转指示符;
如果所述Disparity值与RD值极性相反,则在所述码字后插入1比特反转指示符;
如果所述Disparity值为0,则根据所述码字最后1比特的值插入反转指示符。
8.一种解码装置,其特征在于,所述解码装置包括:
接收模块:用于接收数据流,并将数据流送到解码模块中进行解码处理;
解码模块,用于对数据流进行解码,包括提取反转指示符和同步信息以及根据反转指示符对码字进行反转处理;
发送模块:用于发送经解码模块解码的数据流。
9.根据权利要求8所述的解码装置,其特征在于,所述解码模块对数据流进行解码具体包括:
计算码字的Disparity值,如果所述Disparity非0,则根据对应反转指示符的值判断是否需要对码字进行反转,如果反转指示符表明所述码字进行了反转操作,则反转所述码字。
10.一种编解码系统,其特征在于,包括:
编码装置:对数据流进行编码,包括对码字进行反转处理和插入反转指示符、划分码字组以及插入同步信息;
解码装置:用于对经过编码装置编码的数据流进行解码,包括提取同步信息、提取反转指示符以及对码字进行反转处理。
11.根据权利要求10所述的系统,其特征在于,所述编码装置对数据流进行编码具体包括:
每隔M比特将数据流划分为码字;
依次计算码字的RD和Disparity,并根据所述RD和Disparity的值对码字进行反转处理,处理完成后插入1比特反转指示符;
对处理后的码字以N为一组划分码字组,并对码字组进行插入同步头处理,其中M、N为正整数。
12.根据权利要求11所述的系统,其特征在于,所述解码装置对经过编码装置编码的数据流进行解码具体包括:
每隔(M+1)*N比特搜索数据流中的同步头;
每隔M比特提取数据流中的反转指示符,并获得M比特长度的码字;
依次计算码字的Disparity,并根据所述Disparity的值和对应码字的反转指示符对码字进行反转处理,其中M、N为正整数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810217109.5A CN101729198B (zh) | 2008-10-27 | 2008-10-27 | 一种编解码方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200810217109.5A CN101729198B (zh) | 2008-10-27 | 2008-10-27 | 一种编解码方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101729198A true CN101729198A (zh) | 2010-06-09 |
CN101729198B CN101729198B (zh) | 2014-04-02 |
Family
ID=42449498
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200810217109.5A Active CN101729198B (zh) | 2008-10-27 | 2008-10-27 | 一种编解码方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101729198B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142927A (zh) * | 2010-10-22 | 2011-08-03 | 华为技术有限公司 | 线路编、解码方法及装置、系统 |
CN102480333A (zh) * | 2010-11-22 | 2012-05-30 | 华为技术有限公司 | 线路编码方法、编码数据块同步的处理方法及装置 |
CN103229444A (zh) * | 2012-12-28 | 2013-07-31 | 华为技术有限公司 | 编码/解码方法、装置及系统 |
CN104883193A (zh) * | 2014-02-27 | 2015-09-02 | 三星显示有限公司 | 具有非循序输入的游程长度编码 |
CN111147107A (zh) * | 2019-12-25 | 2020-05-12 | 天地融科技股份有限公司 | 一种数据接收方法和装置 |
WO2020124699A1 (zh) * | 2018-12-18 | 2020-06-25 | 深圳市华星光电技术有限公司 | 数据编码的方法 |
CN113949388A (zh) * | 2021-12-21 | 2022-01-18 | 浙江芯昇电子技术有限公司 | 用于串行器/解串器系统的编解码器与编解码方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1291014A (zh) * | 1999-09-30 | 2001-04-11 | 深圳市华为技术有限公司 | 同步信道上指示主公共控制信道有无空时块编码的方法 |
CN1393996A (zh) * | 2001-06-29 | 2003-01-29 | 日本胜利株式会社 | 数字信号的调制方法、调制装置及记录媒体 |
WO2005001813A1 (en) * | 2003-06-25 | 2005-01-06 | Coding Technologies Ab | Apparatus and method for encoding an audio signal and apparatus and method for decoding an encoded audio signal |
-
2008
- 2008-10-27 CN CN200810217109.5A patent/CN101729198B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1291014A (zh) * | 1999-09-30 | 2001-04-11 | 深圳市华为技术有限公司 | 同步信道上指示主公共控制信道有无空时块编码的方法 |
CN1393996A (zh) * | 2001-06-29 | 2003-01-29 | 日本胜利株式会社 | 数字信号的调制方法、调制装置及记录媒体 |
WO2005001813A1 (en) * | 2003-06-25 | 2005-01-06 | Coding Technologies Ab | Apparatus and method for encoding an audio signal and apparatus and method for decoding an encoded audio signal |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102142927A (zh) * | 2010-10-22 | 2011-08-03 | 华为技术有限公司 | 线路编、解码方法及装置、系统 |
WO2011137820A1 (zh) * | 2010-10-22 | 2011-11-10 | 华为技术有限公司 | 线路编、解码方法及装置、系统 |
CN102480333A (zh) * | 2010-11-22 | 2012-05-30 | 华为技术有限公司 | 线路编码方法、编码数据块同步的处理方法及装置 |
CN102480333B (zh) * | 2010-11-22 | 2014-08-13 | 华为技术有限公司 | 线路编码方法、编码数据块同步的处理方法及装置 |
CN103229444A (zh) * | 2012-12-28 | 2013-07-31 | 华为技术有限公司 | 编码/解码方法、装置及系统 |
WO2014101087A1 (zh) * | 2012-12-28 | 2014-07-03 | 华为技术有限公司 | 编码/解码方法、装置及系统 |
CN103229444B (zh) * | 2012-12-28 | 2016-01-13 | 华为技术有限公司 | 编码/解码方法、装置及系统 |
CN104883193A (zh) * | 2014-02-27 | 2015-09-02 | 三星显示有限公司 | 具有非循序输入的游程长度编码 |
CN104883193B (zh) * | 2014-02-27 | 2019-08-23 | 三星显示有限公司 | 具有非循序输入的游程长度编码 |
WO2020124699A1 (zh) * | 2018-12-18 | 2020-06-25 | 深圳市华星光电技术有限公司 | 数据编码的方法 |
CN111147107A (zh) * | 2019-12-25 | 2020-05-12 | 天地融科技股份有限公司 | 一种数据接收方法和装置 |
CN113949388A (zh) * | 2021-12-21 | 2022-01-18 | 浙江芯昇电子技术有限公司 | 用于串行器/解串器系统的编解码器与编解码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101729198B (zh) | 2014-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101729198B (zh) | 一种编解码方法、装置及系统 | |
CN100353690C (zh) | 使用普通网络分组发送多个8b/10b位流的多路传输系统 | |
CN101267210B (zh) | 数据编译码和收发方法及装置 | |
US6219386B1 (en) | Frameless reed-solomon coding system and method | |
CN101631064B (zh) | 一种数据发送与接收的方法、装置及系统 | |
US7995696B1 (en) | System and method for deskewing data transmitted through data lanes | |
US8649398B2 (en) | Packet network interface apparatus and method | |
US8594125B1 (en) | Inverse multiplexing using transcoding and frame alignment markers | |
US8898550B2 (en) | Encoding of data for transmission | |
CN101523787A (zh) | 用于在66b系统中应用前向纠错的方法和装置 | |
CN102196321A (zh) | 100ge数据在光传送网中的传送方法和数据发送装置 | |
EP2187566A1 (en) | Method and device for realizing data error reporting | |
US20190394309A1 (en) | System and method for performing interpacket gap repair for lossy protocols | |
CN104081701A (zh) | 光网络系统的通信方法、系统及装置 | |
MY112024A (en) | Method and apparatus for encoding and decoding information in a digital communication system | |
CN101729194A (zh) | 数据编码、数据解码的方法、装置和系统 | |
CN105791527A (zh) | 一种移动终端通信录的传输方法及装置 | |
KR100281738B1 (ko) | 니블 반전 및 블록 반전 부호의 부호화 및 복호화 방법, 그 부호 및 복호장치 | |
CN101729193B (zh) | 编码方法和装置、解码方法和装置以及编解码系统 | |
CN101174915A (zh) | 一种以太网传输装置及一种以太网信号的传输方法 | |
CN101409093A (zh) | 一种确定音频数据采样点位置的方法及装置 | |
CN102195750A (zh) | 数据传送装置及数据传送系统 | |
CN108563604B (zh) | Pcs协议复用芯片和方法 | |
CN103365814A (zh) | 一种串行数据传输方法及其系统 | |
JPH04318790A (ja) | 正しく復号された信号ブロックのシフトを防止するビデオ符号器/復号器 |
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 |