CN105721105B - 一种基于字节流的解码方法 - Google Patents
一种基于字节流的解码方法 Download PDFInfo
- Publication number
- CN105721105B CN105721105B CN201610044846.4A CN201610044846A CN105721105B CN 105721105 B CN105721105 B CN 105721105B CN 201610044846 A CN201610044846 A CN 201610044846A CN 105721105 B CN105721105 B CN 105721105B
- Authority
- CN
- China
- Prior art keywords
- hdlc
- state
- decoding
- flag
- decode
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0052—Realisations of complexity reduction techniques, e.g. pipelining or use of look-up tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0045—Arrangements at the receiver end
- H04L1/0047—Decoding adapted to other signal detection operation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/004—Arrangements for detecting or preventing errors in the information received by using forward error control
- H04L1/0056—Systems characterized by the type of code used
- H04L1/0061—Error detection codes
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明适用于解码技术领域,提供了一种基于字节流的解码方法,所述解码方法包括以下步骤:A、利用bit字节流解码算法生成byte的解码表;B、根据新生成的解码表对输入的byte进行解码并输出结果。最初采用bit解码算法,最多能够做到32路并发解码,在将算法替换为byte解码后,最多能够做到128路并发解码,处理能力提高4倍。提高了处理能力,节省了处理时间、提高了处理效率。
Description
技术领域
本发明属于解码技术领域,尤其涉及一种基于字节流的解码方法。
背景技术
HDLC是电信产品中常用的物理层协议,ISDN-PRI和SS7信令就是建立在HDLC协议之上。
HDLC bit流由“标志+信息+FCS(CRC16)”构成,由“标志”字节开始,到下一个“标志”字节结束,中间部分就是“信息+FCS”。在规范中,最后2个字节是CRC16算法的校验字,通过CRC16算法计算的校验结果来判断信息是否完整。
“标志”字节:标志字节也称为Flag,用于HDLC信息帧之间的分界。也就是两个HDLC信息帧间必须有一个Flag,但也可能有多个Flag。Flag为“01111110”的bit流。
为避免HDLC信息帧中有Flag相同的数据,在发送端,连续5个bit 1就插入bit 0,在接收端,如果收到连续的5个bit 1,后面的bit 0自动丢弃。
FCS:帧校验。对于PRI/SS7规范,采用CRC16算法。
为了拆分出信息部分和计算FCS,必须对整个bit流做处理。在常规上一般采用专门的硬件芯片来做这个工作,但是,在某些情况下,也需要通过C代码来实现HDLC的解码。
对于用程序实现HDLC解码,已经有非常多的实践,主要的优化在于将复杂的CRC16FCS计算表格化,而信息部分的解码还是采用按bit处理。
字节流的HDLC解码算法是从bit流解码算法优化过来的,因此,先介绍bit流HDLC解码算法。
HDLC解码算法也是相对比较复杂,下面就最基本的部分做描述。
解码状态机
根据HDLC的特点,有如下的解码过程状态:
HDLC_ZERO_SEARCH
查找0。由于HDLC以flag开始,而flag是”01111110’的bit流,因此,解码的第一个状态就是查找0的状态。
HDLC_FLAG_SEARCH
查找HDLC的flag。用于匹配后续的标志bit。
HDLC_FLAG_FOUND
Flag已经找到,解码HDLC信息字节。
HDLC解码状态机如图1所示。
HDLC解码流程的简单描述:
HDLC解码的初始状态是ZERO_SEARCH状态,在此状态,需要查找bit流中的0,找到0后,状态切换到FLAG_SEARCH状态。
在FLAG_SEARCH状态:记录收到的bit流,直到连续收到HDLC标志“01111110”,切换到FLAG_FOUND状态。另外,如果在此状态收到连续的7个bit1,切换到ZERO_SEARCH状态。
在FLAG_SEARCH状态:收到bit1时,如果已经连续收到6个bit1,切换到ZERO_SEARCH状态,否则,输出解码的bit1。收到bit0时,如果已经连续收到6个bit1,此时表示收到一个HDLC Flag,HDLC帧解码完成,进行CRC16校验,并输出校验后的HDLC帧数据;如果已经连续收到5个bit1,此bit0是插入的bit,直接丢弃,清除连续bit1记录;其它情况,输出解码的bit0。
记录结构
由于一次不能够将所有的bit全部解码,因此,必须要有一个结构来记录中间信息,便于在多次调用的时候连续解码。
对结构的简单说明:
state:解码状态机的状态;
r_one:收到连续bit1的个数;
o_bitcnt:HDLC解码输出bit在解码缓冲区中的位置;
i_bitcnt:当前要解码bit所在缓冲区中的位置。
HDLC bit解码流程:在前面信息的基础上,解码过程是比较容易描述和了解的。如图2所示。根据hdlc_state中记录的状态,进行不同的解码处理。
各个状态的详细描述。
HDLC_ZERO_SEARCH的bit处理,如图3所示,由于在此状态要查找HDLC Flag中的第一个0,因此,只有收到bit0,才切换到FLAG_SEARCH状态。
HDLC_FLAG_SEARCH的bit处理,如图4所示,在此状态,要查找HDLC的整个标志(bit:01111110)。如果输入bit是bit1,连续接收到1的记录(r_one)增加1,如果已经达到7个bit1,转换到ZERO_SEARCH状态。如果输入bit是bit0,如果r_one是6,表示HDLC Flag已经收到了,状态转换到FLAG_FOUND状态;否则,需要清除r_one的记录。
HDLC_FLAG_FOUND的bit处理,如图5所示,如果输入是bit1,增加r_one记录。如果r_one为7,状态转换到ZERO_SEARCH状态;否则,输出bit1。如果输入是bit0,可能会是HDLCFlag标志。如果r_one为6,表示收到HDLC Flag,此帧结束,输出HDLC帧数据。如果r_one是5,此bit0是HDLC规则插入的额外的0,直接丢弃,否则,输出bit0。同时,由于收到bit0,清除r_one标志。
发明内容
本发明的目的在于提供一种基于字节流的解码方法,旨在解决上述的技术问题。
本发明是这样实现的,一种基于字节流的解码方法,所述解码方法包括以下步骤:
A、利用bit字节流解码算法生成byte的解码表;
B、根据新生成的解码表对输入的byte进行解码并输出结果。
本发明的进一步技术方案是:所述步骤A中byte的解码表包括HDLC_ZERO_SEARCH表、HDLC_FLAG_SEARCH表及HDLC_FLAG_FOUND表。
本发明的进一步技术方案是:所述HDLC_ZERO_SEARCH表生成包括以下步骤:
A11、判断产生hdlc0.c文件是否成功;如是,则写入全局变量头FAST_HDLC_DECODE_STATE_MACHINE HDLC_ZERO_SEARCH_SM并执行步骤A12,如否,则结束生成本表;
A12、枚举所有的字节0~255和连续的bit(r_one)0~7;
A13、将ZERO_SEARCH设置成r_one值;
A14、调用bit流HDLC解码并获得struct hdlc_decode_state_tbl结构值;
A15、将struct hdlc_decode_state_tbl结构写入文件并枚举所有的连续的bitl(r_one)0~7和字节0~255;
A16、对生成的HDLC_ZERO_SEARCH表写入结束信息并关闭文件结束本次表生成。
本发明的进一步技术方案是:所述HDLC_FLAG_SEARCH表生成包括以下步骤:
A21、判断产生hdlc1.c文件是否成功;如是,则写入全局变量头FAST_HDLC_DECODE_STATE_MACHINE HDLC_FLAG_SEARCH_SM并执行步骤A12,如否,则结束生成本表;
A22、枚举所有的字节0~255和连续的bit(r_one)0~7;
A23、将FLAG_SEARCH设置成r_one值;
A24、调用bit流HDLC解码并获得struct hdlc_decode_state_tbl结构值;
A25、将struct hdlc_decode_state_tbl结构写入文件并枚举所有的连续的bitl(r_one)0~7和字节0~255;
A26、对生成的HDLC_FLAG_SEARCH表写入结束信息并关闭文件结束本次表生成。
本发明的进一步技术方案是:所述HDLC_FLAG_FOUND表生成包括以下步骤:
A31、判断产生hdlc2.c文件是否成功;如是,则写入全局变量头FAST_HDLC_DECODE_STATE_MACHINE HDLC_FLAG_FOUND_SM并执行步骤A12,如否,则结束生成本表;
A32、枚举所有的字节0~255和连续的bit(r_one)0~7;
A33、将FLAG_FOUND设置成r_one值;
A34、调用bit流HDLC解码并获得struct hdlc_decode_state_tbl结构值;
A35、将struct hdlc_decode_state_tbl结构写入文件并枚举所有的连续的bitl(r_one)0~7和字节0~255;
A36、对生成的HDLC_FLAG_FOUND表写入结束信息并关闭文件结束本次表生成。
本发明的进一步技术方案是:所述步骤B中单个byte的解码包括以下步骤:
B11、根据hdlc_state中记录的state值确定
zero_search/flag_search/fiag_found中的某个表格;
B12、根据hdlc_state中记录的r_one和当前的解码byte获得新的状态表项hdlc_statc_dccodc_tbl并使用byte×7+r_one作为下标直接查表;
B13、根据hdlc_state中记录的state值在HDLC_FLAG_SEARCH表及HDLC_FLAG_FOUND表做状态转换处理;
B14、用hdlc_state_decode_tbl中的state和r_one更新hdlc_state中记录state和r_one。
本发明的进一步技术方案是:所述步骤B13中还包括以下步骤:
B131、判断状态是否跳转到HDLC_FLAG_FOUND表;如是,则执行步骤B132,如否,则结束本次操作;
B132,新的HDLC帧开始去除hdlc_state_decode_tbl表中记录的输出值0_bitcnt和r_val;
B133,将r_val中的0_bitcnt个有效值数据copy到外部缓冲区并结束本次操作。
本发明的进一步技术方案是:所述步骤B131还包括以下步骤:
B1311、判断状态是否跳转到HDLC_FLAG_FOUND表;如是,则执行步骤B1312,如否,则表示HDLC一帧解码错误停止并取出hdlc_state_decode_tbl中的0_bitcnt和r_val,并执行步骤1313;
B1312、判断是否收到新的HDLC标志b_nextfrm;如是,则表示前一帧HDLC解码完成并取出hdlc_state_decode_tbl中的0_bitcnt和r_val并执行步骤B1313,如否,则一帧HDLC解码进行中并取出hdlc_state_decode_tbl中的0_bitcnt和r_val并执行步骤B1314;
B1313、将r_val中的0_bitcnt个有效值和记录的前此解码的r_val组合为最后的输出byte并执行步骤1315;
B1314、将r_val中的0_bitcnt个有效值和记录的前此解码的r_val组合后输出并结束本次操作;
B1315、进行HDLG帧的CRC16校验并输出一帧的值且结束本次操作。
本发明的有益效果是:最初采用bit解码算法,最多能够做到32路并发解码,在将算法替换为byte解码后,最多能够做到128路并发解码,处理能力提高4倍。提高了处理能力,节省了处理时间、提高了处理效率。
附图说明
图1是HDLC解码状态机的示意图。
图2 2.3.HDLC bit解码流程图。
图3HDLC_ZERO_SEARCH的bit处理流程图。
图4HDLC_FLAG_SEARCH的bit处理流程图。
图5HDLC_FLAG_FOUND的bit处理流程图。
图6是本发明实施例提供的基于字节流的解码方法的流程图。
图7是本发明实施例提供的生成HDLC_ZERO_SEARCH表的流程图。
图8是本发明实施例提供的生成HDLC_FLAG_SEARCH表的流程图。
图9是本发明实施例提供的生成HDLC_FLAG_FOUND表的流程图。
图10是本发明实施例提供的单个byte的解码的流程图。
图11是本发明实施例提供的HDLC_FLAG_SEARCH的byte处理的流程图。
图12是本发明实施例提供的HDLC_FLAG_FOUND的byte处理的流程图。
具体实施方式
图6-12示出了,本发明提供的基于字节流的解码方法,,所述解码方法包括以下步骤:
A、利用bit字节流解码算法生成byte的解码表;
B、根据新生成的解码表对输入的byte进行解码并输出结果。
根据对bit解码算法的分析,主要需要优化的地方有两个:A、要解码的数据是按bit处理。如果转换为按byte处理,就可以去掉单个byte的8次循环,将大大减少处理时间。B、Bit解码涉及到大量的比较操作。
因此,新算法的主要思想是利用bit算法生成表格,在实际解码时,利用查表的方法,直接得到结果,这样就可以大大减少上述的处理时间,达到优化的目的。
通过分析bit流HDLC解码状态机,HDLC解码的核心算法是:在当前状态下,输入新的bit值,将状态推动到新的状态。同理,如果输入新的byte,状态机通过8次变化,也是转换到一个新的状态。这样就需要构造256×256的表格。再对解码过程进行分析:发现对解码最大的影响是r_one,也就是连续收到bit1的个数;根据输入byte和r_one的值来构造表格,表格就变成:256×7,表格的大小将大大减小。
(注:连续7个bit1已经表示HDLC帧有问题了,状态会转换到ZERO_SEARCH,因此,不可能有8个连续的bit1)。
因此,新算法就是先根据上述思想构造转换的表格,实际解码时,直接查这些表格,来获得byte的新状态。
基于byte的解码算法分成两个部分:解码表的生成和解码过程。
由于HDLC解码有三种状态(见bit解码算法),因此,需要生成三个解码表,分别对应:HDLC_ZERO_SEARCH、HDLC_FLAG_SEARCH和HDLC_FLAG_FOUND状态。
每个状态表采用穷举的方法:也就是当前byte为0~255,在r_one为0~7的情况下,使用bit流解码算法,获得转换后的状态,并将转换后的状态写入到转换表文件中。
解码表的结构记录每个字节在当前状态的解码信息,这些信息将写入到文件中,在解码前再导入到内存中,用于辅助解码过程。
对结构的简单说明:
state:解码状态机的状态;
r_one:收到连续bit1的个数;
r_val:记录解码的输出值;
o_bitcnt:HDLC解码输出bit在r_val中的位置;
b_nextfrm:是否已经收到了HDLC结束的Flag。
此结构表示一个状态,因此,每个解码表文件有255×7个这样的结构。
为了便于在HDLC解码时使用这些表格,解码表是按C语言的要求写入文件,使用时,直接将这些文件编译到执行程序中。
HDLC_ZERO_SEARCH状态的文件为hdlc0.c,全局变量名为FAST_HDLC_DECODE_STATE_MACHINE HDLC_ZERO_SEARCH_SM,写入的流程图,如图7所示。
HDLC_FLAG_SEARCH状态的文件为hdlc1.c,全局变量名为FAST_HDLC_DECODE_STATE_MACHINE HDLC_FLAG_SEARCH_SM,写入的流程图,如图8所示。
HDLC_FLAG_FOUND状态的文件为hdlc2.c,全局变量名为FAST_HDLC_DECODE_STATE_MACHINE HDLC_FLAG_FOUND_SM,写入的流程图,如图9所示。
由于一次不能够将所有的bit全部解码,因此,必须要有一个结构来记录中间信息,便于在多次调用的时候连续解码。
对结构的简单说明:
state:解码状态机的状态;
r_one:收到连续bit1的个数;
o_bitcnt:HDLC解码输出bit在解码缓冲区中的位置;
i_bitcnt:当前要解码bit所在缓冲区中的位置。
在表格的支持下,HDLC解码变得相对比较简单。如图10所示,根据hdlc_state中记录的当前状态,查询出当前状态对应的解码状态表,然后根据要解码的byte和hdlc_state中记录的r_one值查询出转换后的状态:hdlc_state_decode_tbl,所需要的信息得到后,根据hdlc_state记录的状态做不同的状态跳转处理。状态跳转处理完成后,用hdlc_state_decode_tbl中的state和r_one更新hdlc_state中的相应值,为下次解码做好准备。在HDLC_ZERO_SEARCH中没有状态跳转处理。
HDLC_FLAG_SEARCH的byte处理如图11所示,在由FLAG_SEARCH跳转到FLAG_FOUND状态时,此时表示解码到一个新的HDLC帧,需要从hdlc_state_decode_tbl中取出o_bitcnt和r_val,这些值表示此byte解码的输出值。
o_bitcnt表示r_val中有多少bit是有效值,如果不够8bit,需要在外部缓冲区中保存,在下次的输出中在累加。
HDLC_FLAG_FOUND的byte处理如图12所示,如果新状态跳转到FLAG_FOUND,实际上是状态没有变化。但是,有可能是又收到了一个HDLC Flag,表示一帧已经结束了。因此,通过判断b_nextfrm来确定是一帧结束还是状态没有变化。
如果是一帧已经结束,从hdlc_state_decode_tbl中取出o_bitcnt和r_val,从而获得此次解码的输出bits,将输出的bits和前次记录的bits进行组合后,作为最后的byte输出。所有byte输出后,对一帧数据做CRC16校验,校验后,将此HDLC帧数据输出。
如果还在原来的帧解码中,从hdlc_state_decode_tbl中取出o_bitcnt和r_val,从而获得此次解码的输出bits,将输出的bits和前次记录的bits进行组合后,作为此次的byte输出。
如果状态跳转到非FLAG_FOUND状态,表示HDLC帧异常退出和结束。从hdlc_state_decode_tbl中取出o_bitcnt和r_val,从而获得此次解码的输出bits,将输出的bits和前次记录的bits进行组合后,作为最后的byte输出。所有byte输出后,对一帧数据做CRC16校验,校验后,将此HDLC帧数据输出。
已经详细描述了单个byte的HDLC解码,对于字节流的HDLC解码就是对字节流中的每个byte,调用上述的单个byte解码过程。
在通信的信令包捕获项目中,最初采用bit解码算法,最多能够做到32路并发解码,在将算法替换为byte解码后,最多能够做到128路并发解码,处理能力提高4倍。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (1)
1.一种基于字节流的解码方法,其特征在于,所述解码方法包括以下步骤:
A、利用bit字节流解码算法生成byte的解码表;
B、根据新生成的解码表对输入的byte进行解码并输出结果;
所述步骤A中byte的解码表包括HDLC_ZERO_SEARCH表、HDLC_FLAG_SEARCH表及HDLC_FLAG_FOUND表,分别对应HDLC解码的三种状态HDLC_ZERO_SEARCH、HDLC_FLAG_SEARCH及HDLC_FLAG_FOUND;
所述HDLC_ZERO_SEARCH表生成包括以下步骤:
A11、判断HDLC_ZERO_SEARCH状态的hdlc0.c文件是否产生成功;如是,则将全局变量FAST_HDLC_DECODE_STATE_MACHINE HDLC_ZERO_SEARCH_SM写入流程并执行步骤A12,如否,则结束生成本表;
A12、枚举所有的字节0~255在r_one 为0~7的情况下使用bit流解码算法获得转换后的状态,r_one为收到连续bit1的个数;
A13、在HDLC_ZERO_SEARCH状态查找bit流中的0;
A14、调用bit流HDLC解码并获得转换后的状态结构值struct hdlc_decode_state_tbl;
A15、将转换后的状态结构值struct hdlc_decode_state_tbl写入文件并枚举所有的字节0~255在r_one为0~7的情况下的状态;
A16、对生成的HDLC_ZERO_SEARCH表写入结束信息并关闭文件,结束本次表生成;
所述HDLC_FLAG_SEARCH表生成包括以下步骤:
A21、判断HDLC_FLAG_SEARCH状态的hdlc1.c文件是否产生成功;如是,则将全局变量FAST_HDLC_DECODE_STATE_MACHINE HDLC_FLAG_SEARCH_SM写入流程并执行步骤A22,如否,则结束生成本表;
A22、枚举所有的字节0~255在r_one 为0~7的情况下使用bit流解码算法获得转换后的状态;
A23、将HDLC_FLAG_SEARCH状态设置成r_one值;
A24、调用bit流HDLC解码并获得转换后的状态结构值struct hdlc_decode_state_tbl;
A25、将转换后的状态结构值struct hdlc_decode_state_tbl写入文件并枚举所有的字节0~255在r_one 为0~7的情况下的状态;
A26、对生成的HDLC_FLAG_SEARCH表写入结束信息并关闭文件,结束本次表生成;
所述HDLC_FLAG_FOUND表生成包括以下步骤:
A31、判断HDLC_FLAG_FOUND状态的hdlc2.c文件是否产生成功;如是,则将全局变量FAST_HDLC_DECODE_STATE_MACHINE HDLC_FLAG_FOUND_SM写入流程并执行步骤A32,如否,则结束生成本表;
A32、枚举所有的字节0~255在r_one为0~7的情况下使用bit流解码算法获得转换后的状态;
A33、将HDLC_FLAG_FOUND状态设置成r_one值;
A34、调用bit流HDLC解码并获得转换后的状态结构值struct hdlc_decode_state_tbl;
A35、将转换后的状态结构值struct hdlc_decode_state_tbl写入文件并枚举所有的字节0~255在r_one 为0~7的情况下的状态;
A36、对生成的HDLC_FLAG_FOUND表写入结束信息并关闭文件,结束本次表生成;
所述步骤B中单个byte的解码包括以下步骤:
B11、根据记录中间信息的结构hdlc_state中记录的解码状态机的状态state值确定HDLC_ZERO_SEARCH表、HDLC_FLAG_SEARCH表及HDLC_FLAG_FOUND表中的某个表格;
B12、根据hdlc_state中记录的r_one和当前的解码byte获得新的状态表项hdlc_decode_state_tbl并使用byte×7+r_one作为下标直接查表;
B13、根据hdlc_state中记录的state值在HDLC_FLAG_SEARCH表及HDLC_FLAG_FOUND表做状态转换处理;
B14、用hdlc_decode_state_tbl中的state和r_one更新hdlc_state中记录state和r_one;
所述步骤B13中还包括以下步骤:
B131、判断状态是否跳转到HDLC_FLAG_FOUND表;如是,则执行步骤B132,如否,则结束本次操作;
B132、新的HDLC帧开始取出hdlc_decode_state_tbl中记录的解码输出值r_val和r_val中有效值的bit数0_bitcnt;
B133,将r_val中的0_bitcnt个有效值数据copy到外部缓冲区并结束本次操作;
所述步骤B131还包括以下步骤:
B1311、判断状态是否跳转到HDLC_FLAG_FOUND表;如是,则执行步骤B1312,如否,则表示HDLC一帧解码错误停止并取出hdlc_decode_state_tbl中的0_bitcnt和r_val,并执行步骤B 1313;
B1312、判断是否收到新的HDLC标志b_nextfrm;如是,则表示前一帧HDLC解码完成并取出hdlc_decode_state_tbl中的0_bitcnt和r_val并执行步骤B1313,如否,则一帧HDLC解码进行中并取出hdlc_decode_state_tbl中的0_bitcnt和r_val并执行步骤B1314;
B1313、将r_val中的0_bitcnt个有效值和记录的前此解码的r_val组合为最后的输出byte并执行步骤1315;
B1314、将r_val中的0_bitcnt个有效值和记录的前此解码的r_val组合后输出并结束本次操作;
B1315、进行HDLG帧的CRC16校验并输出一帧的值且结束本次操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610044846.4A CN105721105B (zh) | 2016-01-22 | 2016-01-22 | 一种基于字节流的解码方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610044846.4A CN105721105B (zh) | 2016-01-22 | 2016-01-22 | 一种基于字节流的解码方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105721105A CN105721105A (zh) | 2016-06-29 |
CN105721105B true CN105721105B (zh) | 2020-06-02 |
Family
ID=56153831
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610044846.4A Active CN105721105B (zh) | 2016-01-22 | 2016-01-22 | 一种基于字节流的解码方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105721105B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1041721A2 (en) * | 1999-03-30 | 2000-10-04 | Matsushita Electric Industrial Co., Ltd. | Decoding device for Huffman-encoded data |
CN102098333A (zh) * | 2010-12-31 | 2011-06-15 | 北京中创信测科技股份有限公司 | 一种hdlc数据处理的方法和系统 |
CN102394719A (zh) * | 2011-09-21 | 2012-03-28 | 浙江铭道通信技术有限公司 | 基于fpga的多通道hdlc数据处理方法 |
CN102832953A (zh) * | 2011-06-16 | 2012-12-19 | 中兴通讯股份有限公司 | 卷积码解码方法及装置 |
-
2016
- 2016-01-22 CN CN201610044846.4A patent/CN105721105B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1041721A2 (en) * | 1999-03-30 | 2000-10-04 | Matsushita Electric Industrial Co., Ltd. | Decoding device for Huffman-encoded data |
CN102098333A (zh) * | 2010-12-31 | 2011-06-15 | 北京中创信测科技股份有限公司 | 一种hdlc数据处理的方法和系统 |
CN102832953A (zh) * | 2011-06-16 | 2012-12-19 | 中兴通讯股份有限公司 | 卷积码解码方法及装置 |
CN102394719A (zh) * | 2011-09-21 | 2012-03-28 | 浙江铭道通信技术有限公司 | 基于fpga的多通道hdlc数据处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105721105A (zh) | 2016-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8386523B2 (en) | Random access audio decoder | |
KR20030036624A (ko) | 가변길이 코드워드 시퀀스 디코딩 방법 | |
JP2002252563A (ja) | ハフマン符号の復号方法、復号装置、ハフマン符号復号用テーブルおよびその作成方法 | |
CN100525450C (zh) | 一种实现霍夫曼译码的方法和装置 | |
EP0945989A1 (en) | Viterbi decoding | |
CN105052040A (zh) | 多流压缩与解压的方法与系统 | |
US8947272B2 (en) | Decoding encoded data | |
CN113411290A (zh) | 一种分组头解析方法及装置 | |
CN105721105B (zh) | 一种基于字节流的解码方法 | |
US7940807B2 (en) | Methods, decoder circuits and computer program products for processing MPEG audio frames | |
US6580379B2 (en) | Arithmetic decoding of an arithmetically encoded information signal | |
JP3256121B2 (ja) | データ符号化装置およびデータ復号装置およびその方法 | |
WO2016034075A1 (zh) | 转发参数传递的方法及设备 | |
US20110235757A1 (en) | Decoding method and decoding device | |
CN109743581A (zh) | 编码端处理方法、解码端处理方法及防止伪起始码的方法 | |
JP4191438B2 (ja) | データ圧縮方法およびデータ伸長方法、該方法を実施するためのコンピュータプログラム製品と電子システム | |
US20070022275A1 (en) | Processor cluster implementing conditional instruction skip | |
CN106415484A (zh) | 专用算术编码指令 | |
CN111126003A (zh) | 话单数据处理方法及装置 | |
Sheinwald et al. | On encoding and decoding with two-way head machines | |
US20240233740A9 (en) | Decoding method and apparatus, and computer readable storage medium | |
JP2003032123A (ja) | ターボ符号の誤り訂正復号方法および装置 | |
JP3236758B2 (ja) | 可変長データのcrc演算装置 | |
CN112187639B (zh) | 一种基于流属性的数据包路径编码的生成方法及系统 | |
CN114047876B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |