CN113438050B - 一种编码方法、解码方法、编码装置和解码装置 - Google Patents
一种编码方法、解码方法、编码装置和解码装置 Download PDFInfo
- Publication number
- CN113438050B CN113438050B CN202110617152.6A CN202110617152A CN113438050B CN 113438050 B CN113438050 B CN 113438050B CN 202110617152 A CN202110617152 A CN 202110617152A CN 113438050 B CN113438050 B CN 113438050B
- Authority
- CN
- China
- Prior art keywords
- data
- bit data
- bit
- decoded
- initial
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
-
- 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/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0006—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format
- H04L1/0007—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length
- H04L1/0008—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission format by modifying the frame length by supplementing frame payload, e.g. with padding bits
Landscapes
- Engineering & Computer Science (AREA)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本申请公开了一种编码方法、解码方法、编码装置、解码装置,无需对需要编码的初始数据进行逻辑判断运算,仅需要在待编码的初始数据中选择第一数量的比特数据作为编码比特数据,对编码比特数据进行编码得到目标数据,对初始数据中每个比特数据进行编码得到第一数据;同时将目标数据插入第一数据中,得到初始数据编码后的第二数据。整个编码方法简单,使得整个编码设计相对简易;而解码与编码的逻辑运算相同,降低了解码电路的设计难度。
Description
技术领域
本申请涉及数据传输领域,尤其涉及一种编码方法、解码方法、编码装置和解码装置。
背景技术
数字信号在数字信道中传输时,需要对计算机中的数字信号先编码再进行基带传输。编码的目的是为了使传输信号是具有一定跳变的方波波形,以免连续0或者连续1的个数过多致使接收端接收到的时钟同步信息容易发生错误,最终导致误码。目前数据传输领域使用最广泛的编码方案是通过一系列的逻辑运算实现的,编码方法流程过于繁琐,增加实现的计算量和难度,同时,大大地增加了解码的流程和难度。
发明内容
本申请实施例提供一种编码方法、解码方法、编码装置和解码装置,旨在解决现有技术下的编码方法繁琐,计算量过大的问题。
第一方面,本申请实施例提供一种编码方法,所述方法包括:
获取待编码的初始数据,所述初始数据中包括多个顺序排列的比特数据;
在所述初始数据中选择第一数量的比特数据,作为编码比特数据,所述编码比特数据为对所述初始数据进行编码的比特数据;
对所述第一数量的比特数据中的每个比特数据进行取反逻辑运算,得到目标数据,所述目标数据的数量等于所述第一数量;
利用预设第一逻辑运算和所述编码比特数据对所述初始数据中的每个比特数据进行编码,得到第一数据;
将所述目标数据插入所述第一数据,得到所述初始数据编码后的第二数据。
进一步地,所述在所述初始数据中选择第一数量的比特数据,作为编码比特数据,包括:
确定所述初始数据中所有比特数据的第二数量;
根据所述第二数量,确定所述编码比特数据对应的第一数量;
在所述初始数据中随机选择第一数量的比特数据作为所述编码比特数据;
其中,任意两个编码比特数据之间间隔预设比特位。
进一步地,所述在所述初始数据中选择第一数量的比特数据,作为编码比特数据,包括:
确定所述初始数据中所有比特数据的第二数量;
根据所述第二数量,确定所述编码比特数据对应的第一数量;
在所述初始数据中随机选择第一数量的比特数据作为第三数据;
将所述第三数据中的每个比特数据进行取反运算,得到第四数据;
所述第四数据为所述编码比特数据。
进一步地,所述根据所述第二数量,确定所述编码比特数据对应的第一数量,包括:
获取所述第二数量与预设数量的比值,并将所述比值向上取整,得到所述第一数量;
其中,所述第一数量为正整数。
进一步地,所述第一数量大于等于2,所述在所述初始数据中任意选择所述第一数量的比特数据,作为所述编码比特数据,包括:
在所述初始数据中任意选择所述第一数量的比特数据,作为所述编码比特数据,所述编码比特数据的数量大于等于2;
任意两个编码比特数据间隔三个比特位。
进一步地,所述将所述目标数据插入所述第一数据,得到所述初始数据编码后的第二数据,包括:
根据所述第一数量,将所述第一数据划分为多段数据,所述多段数据的数量等于所述第一数量;
根据所述第一数量,将所述目标数据划分为多个子目标数据,所述多个子目标数据的数量等于所述第一数量;
将所述多个子目标数据分别插入所述多段数据的首位,得到所述初始数据编码后的第二数据。
进一步地,所述初始数据为八比特数据,所述第二数据为九比特数据或十比特数据。
第二方面,本申请还提供一种解码方法,所述方法包括:
获取待解码数据,所述待解码数据包括多个顺序排序的比特数据;
识别所述待解码数据中的插入数据;
删除所述插入数据;
利用预设第一逻辑运算,对所述待解码数据中除所述插入数据外的其他比特数据进行解码,得到所述待解码数据解码后对应的初始数据。
第三方面,本申请还提供一种编码装置,所述编码装置包括:
第一获取模块,用于获取待编码初始数据,所述初始数据中包括多个顺序排列的比特数据;
选择模块,用于在所述初始数据中选择第一数量的比特数据,作为编码比特数据;
第一编码模块,用于对所述第一数量的比特数据中的每个比特数据进行取反逻辑运算,得到目标数据,所述目标数据的数量等于所述第一数量;
第二编码模块,用于利用预设第一逻辑运算对所述初始数据中的每个比特数据进行编码,得到第一数据;
第三编码模块,用于将所述目标数据插入所述第一数据,得到所述初始数据编码后的第二数据。
第四方面,本申请还提供一种解码装置,所述解码装置包括:
第二获取模块,用于获取待解码数据,所述待解码数据包括多个顺序排序的比特数据;
识别模块,用于识别所述待解码数据中的插入数据;
删除模块,用于删除所述插入数据;
解码模块,用于利用预设第一逻辑运算,对所述待解码数据中除所述插入数据外的其他比特数据进行解码,得到所述待解码数据解码后对应的初始数据。
第五方面,本申请实施例还提供一种服务器,所述服务器包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行,以执行第一方面任一项所述的编码方法中的步骤,或者以执行第二方面中任一项所述的解码方法中的步骤。
第六方面,本申请还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器进行加载,以执行第一方面任一项所述的编码方法中的步骤,或者以执行第二方面中任一项所述的解码方法中的步骤。
本申请实施例提供的编码方法、解码方法、编码装置、解码装置,无需对需要编码的初始数据进行逻辑判断运算,仅需要在待编码的初始数据中选择第一数量的比特数据作为编码比特数据,对编码比特数据进行编码得到目标数据,对初始数据中每个比特数据进行编码得到第一数据;同时将目标数据插入第一数据中,得到初始数据编码后的第二数据。整个编码方法简单,使得整个编码设计相对简易;而解码与编码的逻辑运算相同,降低了解码电路的设计难度。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1为本申请实施例提供的编解码方法一实施例流程示意图;
图2为本申请实施例提供的选择编码比特数据一实施例流程示意图;
图3为本申请实施例提供的对初始数据进行编码的一实施例流程示意图;
图4为本申请实施例提供的得到第五数据的一实施例流程示意图;
图5为本申请实施例提供的逻辑编码电路一实施例示意图;
图6为本申请实施例提供的解码一实施例流程示意图;
图7为本申请实施例提供的解码逻辑电路一实施例示意图;
图8为本申请实施例提供的编码装置一实施例示意图;
图9为本申请实施例提供的解码装置一实施例示意图;
图10示出了本申请实施例涉及的服务器一实施例示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在本申请的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个所述特征。在本申请的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本申请的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接或可以相互通讯;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
在本申请中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
下文的公开提供了许多不同的实施方式或例子用来实现本申请的不同结构。为了简化本申请的公开,下文中对特定例子的部件和设置进行描述。当然,它们仅仅为示例,并且目的不在于限制本申请。此外,本申请可以在不同例子中重复参考数字和/或参考字母,这种重复是为了简化和清楚的目的,其本身不指示所讨论各种实施方式和/或设置之间的关系。此外,本申请提供了的各种特定的工艺和材料的例子,但是本领域普通技术人员可以意识到其他工艺的应用和/或其他材料的使用。
本申请实施例提供一种编码方法、解码方法、编码装置和解码装置,以下分别进行说明。
如图1所示,为本申请实施例提供的编码方法一实施例流程示意图,可以包括:
11、获取待编码的初始数据,初始数据中包括多个顺序排列的比特数据。
在本申请的实施例中,需要对待编码的初始数据进行编码,得到编码后的数据,避免初始数据中出现连续的0或连续的1的个数过多导致对时钟同步信号产生影响,导致误码。
其中,在本申请的实施例中,初始数据可以数字信号,即初始数据均为0或1的二进制比特数据。例如,初始数据可以为11000000;其中,一个0或一个1代表一位比特数据,一个初始数据通常包括多个顺序排列的比特数据。而本申请的实施例中的初始数据一般为八位二进制比特数据,即初始数据中包括八个顺序排列的比特数据。
当然,在本申请的其他实施例中,初始数据也可以为十位、十二位等其他数量的二进制比特数据。其他数量的二进制比特数据同样适用本申请实施例提供的编码方法和解码方法。
需要说明是,本申请实施例提供的编码方法和解码方法主要用于对逻辑电路中的数字信号进行编解码操作,但本申请实施例提供的编码方法和解码方法同样也适用于其他领域中需要进行编解码操作的场景,此处不做限定。
12、在初始数据中选择第一数量的比特数据,作为编码比特数据。
在本申请的实施例中,对初始数据进行编码时,可以在初始数据任意选择第一数量的比特数据,作为编码比特数据。其中,编码比特数据为对初始数据进行编码的比特数据,即利用初始数据中的任意位的比特数据,作为编码比特数据,进行数据编码。
13、对第一数量的比特数据中的每个比特数据进行取反逻辑运算,得到目标数据。
在本申请的实施例中,在选择了比特数据后,可以对比特数据进行多种逻辑运算,得到目标数据,利用目标数据实现对初始数据的编码。
其中,可以对第一数量的比特数据中的每个比特数据进行取反逻辑运算,得到目标数据。具体的,当选择的比特数据为两个,即第一数量为2时;比特数据可以分别为B[0]和B[4]。而对B[0]和B[4]分别进行取反逻辑运算可以得到:E[m]=-B[0]、E[n]=-B[4]。其中B[0]和B[4]为初始数据中的比特数据,而E[m]和E[n]为编码后的数据中的比特数据。
需要说明的是,在本申请的实施例中,目标数据的数量等于第一数量。
14、利用预设第一逻辑运算和编码比特数据对初始数据中的每个比特数据进行编码,得到第一数据。
15、将目标数据插入第一数据,得到初始数据编码后的第二数据。
在本申请的实施例中,还需要对初始数据中的每个数据再进行逻辑运算。具体的可以利用编码比特数据和初始数据中的比特数据进行预设的第一逻辑运算,得到第一数据,再将目标数据插入第一数据中,得到最终的第二数据;其中,第二数据即为初始数据编码后的数据。
本申请实施例提供的编码方法,无需对需要编码的初始数据进行逻辑判断运算,仅需要在待编码的初始数据中选择第一数量的比特数据作为编码比特数据,对编码比特数据进行编码得到目标数据,对初始数据中每个比特数据进行编码得到第一数据;同时将目标数据插入第一数据中,得到初始数据编码后的第二数据。整个编码方法简单,使得整个编码设计相对简易;而解码与编码的逻辑运算相同,降低了解码电路的设计难度。
如图2所示,为本申请实施例提供的选择编码比特数据一实施例流程示意图,可以包括:
21、确定初始数据中所有比特数据的第二数量。
具体的,在本申请的实施例中,编码比特数据的数量与初始数据中比特数据的总数量相关;因此需要先确定初始数据中所有比特数据的第二数量。例如,初始数据11000000中包括八位二进制比特数据,即初始数据11000000中所有比特数据的第二数量为八位,即第二数量为8。
22、根据第二数量,确定编码比特数据对应的第一数量。
在确定了初始数据中所有比特数据对应的第二数量后,可以根据第二数量确定编码比特数据对应的第一数量。在本申请的实施例中,根据第二数量,确定编码比特数据对应的第一数量,可以包括:获取第二数量与预设数量的比值,并将比值向上取整,得到第一数量。其中,第一数量为正整数。
具体的,在本申请的实施例中,编码比特数据对应的第一数量可以为L/5,并向上取整数;而L为初始数据中所有比特数据对应的第二数量,预设数量即为5。
以初始数据11000000为例,初始数据中的所有比特数据对应的第二数量为8,则编码比特数据对应的第一数量为8/5且向上取整数,即为2;因此,编码比特数据对应的第一数量为2。可以在初始数据中选择两个比特数据作为进行编码的编码比特数据。
在本申请的另一些实施例中,初始数据中所有比特数据的第二数量可以为12,即初始数据为十二位的二进制比特数据。此时,编码比特数据对应的第一数量为12/5,并向上取整数,即为3。此时,编码比特数据对应的第一数量为3,可以在初始数据中选择三个比特数据作为进行编码的编码比特数据。
在本申请的其他实施例中,当初始数据中所有比特数据为其他数量时,仍然可以按照前述方法确定需要选择的编码比特数据对应的第二数量,具体过程此处不做限定。
23、在初始数据中随机选择第一数量的比特数据作为编码比特数据。
在本申请的实施例中,可以在初始数据中随机选择第一数量的比特数据作为编码比特数据,利用编码比特数据和初始数据中的其他比特数据来进行编码,得到编码后的第二数据。但在选择编码比特数据时,任意两个编码比特数据之间需要间隔预设的比特位,即选择的编码比特数据不能是相邻的两个比特数据。
在上述实施例中,预设的比特位可以为三位,即任意两个编码比特数据之间间隔三个比特位。且在本申请的实施例中,通常也不会选择初始数据中的最后一位比特数据作为编码比特数据。
在本申请的另一些实施例中,还可以利用其他方法确定编码比特数据。具体的,可以包括:确定初始数据中所有比特数据的第二数量;根据第二数量,确定所述编码比特数据对应的第一数量;在初始数据中随机选择第一数量的比特数据作为第三数据;将第三数据中的每个比特数据进行取反运算,得到第四数据;第四数据为所述编码比特数据。
具体的,同样利用前述方法确定编码比特数据对应的第一数量,并在初始数据中任意选择第一数量的比特数据,但在该实施例中,并不直接利用第一数量的比特数据进行编码。而是将选择的第一数量的比特数据作为第三数据,再对第三数据中的每个比特数据均进行取反运算,得到第四数据;再将第四数据作为编码比特数据。
即在本申请的实施例中,可以直接选择初始数据中的比特数据作为编码比特数据,也可以先对选取的比特数据进行逻辑运算,得到新的比特数据,再将新的比特数据作为编码比特数据进行编码。
在上述实施例中,确定了编码比特数据后,需要利用选择的编码比特数据和预设第一逻辑运算对初始数据中的每个比特数据进行编码,得到编码后的第一数据。其中,如图3所示,为本申请实施例提供的对初始数据进行编码的一实施例流程示意图,可以包括:
31、根据第一数量,将初始数据分为多段待编码分段数据。
在本申请的实施例中,可以将初始数据进行划分,得到多段待编码分段数据;并对多段待编码分段数据分别进行编码,得到多个第五数据;利用多个第五数据,得到初始数据编码后的第二数据。
其中,可以利用编码比特数据对应的第一数量,将初始数据进行划分。具体的,根据第一数量,可以确定多段待编码分段数据对应的第三数量;根据第三数量和编码比特数据,将初始数据划分为多段待编码分段数据。
在上述实施例中,多段待编码分段数据对应的第三数量可以和编码比特数据对应的第一数量相同。以第二数量为2为例,多段待编码分段数据对应的第三数量也可以为2,此时可以将初始数据划分为两段待编码分段数据分别进行编码。
其中,在实际划分初始数据时,还需要考虑选择的编码比特数据;即需要从选择的编码比特数据处对初始数据进行划分,得到多段待编码分段数据。
在本申请的一个具体实施例中,以初始数据B[0-7]为00000011为例,此时应该选择的编码比特数据为两个。可以选择B[0]=0,B[4]=0作为编码比特数据。当然也可以选择B[0]=0,B[6]=1作为编码比特数据。在对初始数据B[0-7]进行编码时,B[0-7]中的每个比特数据编码时均需要利用一个编码比特数据进行编码。
以B[0]=0,B[4]=0为编码比特数据为例,利用编码比特数据划分初始数据时,可以将初始数据在B[4]处划分,将初始数据划分为B[0-3]=0000和B[4-7]=0011两段分别进行编码。而对B[0-3]=0000中的B[0]、B[1]、B[2]和B[3]分别进行编码时,每个编码过程都需要利用编码比特数据B[0]或B[4]来进行编码。
以B[0]=0,B[6]=1为编码比特数据为例,利用编码比特数据划分初始数据时,可以将初始数据在B[6]=1处划分,将初始数据划分为B[0-5]=000000和B[6-7]=11两段分别进行编码。
32、将第一数量的编码比特数据分别划分到不同的待编码分段数据中,分别利用编码比特数据对待编码分段数据进行编码,得到多个第五数据。
在将初始数据划分为多段待编码分段数据后,还需要将第一数量的编码比特数据分别划分到不同的待编码分段数据中;由于分段后的待编码分段数据的第三数量与编码比特数据对应的第一数量相同,因此在划分编码比特数据时,可以使得一段待编码分段数据对应一个编码比特数据。这时可以利用每段待编码分段数据各自对应的编码比特数据进行编码,得到每段待编码分段数据编码后的第五数据;其中第五数据为多个。
33、利用多个第五数据,得到编码后的第一数据。
在上述实施例中,得到多个编码后的第五数据后,可以将多个第五数据合并,得到第一数据。
其中,将第一数量的编码比特数据划分到不同的待编码分段数据中,分别利用编码比特数据对待编码分段数据进行编码,得到多个第五数据,可以包括:
将第一数量的编码比特数据分别划分到不同的待编码分段数据中,分别将不同的待编码分段数据中的每个待编码分段数据作为目标待编码分段数据;对目标待编码分段数据进行编码,得到第五数据。
其中,如图4所示,为本申请实施例提供的得到第五数据的一实施例流程示意图,可以包括:
41、获取与目标待编码分段数据对应的目标编码比特数据。
由于将第一数量的编码比特数据进行了划分,因此还需要确认每段待编码分段数据各自对应的目标编码比特数据,不同的待编码分段数据对应的目标编码比特数据不同。以初始数据B[0-7]为00000011,B[0]=0,B[4]=0为编码比特数据为例,此时将初始数据划分为了B[0-3]=0000和B[4-7]=0011两段待编码分段数据,而B[0-3]=0000对应的目标编码比特数据为B[0]=0,B[4-7]=0011对应的目标编码比特数据为B[4]=0。
42、以目标待编码分段数据中任意比特数据为目标比特数据,对所述目标比特数据和目标编码比特数据进行第一逻辑运算,得到第六数据。
43、根据多个第六数据,得到第五数据。
在本申请的实施例中,目标待编码分段数据中同样也包括多个比特数据,因此在实际对目标待编码分段数据进行编码得到第五数据时,是分别对目标待编码分段数据中的每个待编码比特数据进行编码,得到每一个比特数据对应的第六数据,最终得到第五数据。
因此,在本申请的实施例中,以目标待编码分段数据中任意比特数据为目标比特数据,再利用预设的第一逻辑运算对目标比特数据和目标编码比特数据进行编码,得到每一个目标比特数据各自对应的第六数据。
以初始数据B[0-7]为00000011,B[0]=0,B[4]=0为编码比特数据为例,此时待编码分段数据分别为B[0-3]=0000和B[4-7]=0011,而目标待编码分段数据B[0-3]=0000对应的编码比特数据为B[0]=0,目标待编码分段数据B[4-7]=0011对应的编码比特数据为B[4]=0。
此时,利用B[0]=0对B[0-3]=0000进行编码。具体可以为E[0]=B[0]=0。即在上述实施例中,第一逻辑运算可以为赋值运算。
而对于E[2]、E[3]、E[4]来说,可以利用B[1]、B[2]和B[3]以及B[0]进行第一逻辑运算。
在本申请的一个具体实施例中,可以利用目标编码比特数据B[0]=0进行编码。具体编码过程可以如下:
E[2]=B[0]⊕B[1]
E[3]=B[0]⊕B[2]
E[4]=B[0]⊕B[3]
此时的第一逻辑运算可以为异或运算。当然,在本申请的其他实施例中,第一逻辑运算也可以为其他单个逻辑门或多个逻辑门的组合,此处不做限定。即在本申请的实施例中,对于不同的目标比特数据来说,进行编码的第一逻辑运算可以不同。
而对待编码分段数据B[4-7]=0011来说,也可以利用前述方法进行编码,得到编码后的第二目标数据。具体可以如下:
E[5]=B[4]
E[7]=B[4]⊕B[5]
E[8]=B[4]⊕B[6]
E[9]=B[4]⊕B[7]
此时,根据多个第六数据可以确定多个第五数据分别为:E[0]=1、E[2-4]=010以及E[5]=0、E[7-9]=0011;即得到了预设第一逻辑运算和所述编码比特数据对所述初始数据中的每个比特数据进行编码后的第一数据,第一数据中包括至少一个第五数据。此时对于编码后的第二数据E来说,还缺少E[1]和E[6]。
在上述实施例中,还对所述第一数量的比特数据中的每个比特数据进行取反逻辑运算,得到了目标数据。而得到了目标数据和第一数据后,还可以将目标数据插入第一数据,得到初始数据编码后的第二数据。
在本申请的实施例中,将目标数据插入第一数据,得到初始数据编码后的第二数据,可以包括:根据第一数量,将第一数据划分为多段数据,多段数据的数量等于第一数量;根据第一数量,将目标数据划分为多个子目标数据,多个子目标数据的数量等于第一数量;将多个子目标数据分别插入多段数据,得到初始数据编码后的第二数据。
具体的,由于在进行编码时,是将初始数据进行了划分,多段待编码分段数据;且对多段待编码分段数据分别进行编码得到了多个第五数据。在插入目标数据时,同样需要将第一数据进行分段,得到多个分段数据;具体的,同样可以利用编码比特数据对第一数据进行分段,得到的多个分段数据即为多个第五数据。
而在插入目标数据时,同样也是将不同的目标数据插入不同的分段数据中。具体的,同样根据第一数量,将目标数据划分为多个子目标数据,确定每个子目标数据各自对应的分段数据,并将子目标数据插入分段数据中。
以编码比特数据为B[0]和B[4]为例,进行赋值运算后得到的目标数据为E[m]=B[0]、E[n]=B[4],将E[m]和E[n]插入E[0]=1、E[2-4]=010以及E[5]=0、E[7-9]=0011中,即可得到第二数据E[9-0]。
具体的,可以,使得E[m]=B[0]=E[1],得到E[0-4];同理使得E[n]=B[4]=E[5]得到E[5-9];最终得到E[9-0]=1101000010。
需要说明的是,在本申请的实施例中,当初始数据为八比特数据时,编码后的第二数据可以为九比特数据或十比特数据。
如图5所示,为本申请实施例提供的逻辑编码电路一实施例示意图。其中,以前述编码方法可以进行逻辑编码电路的设计,在图5中初始数据B[7-0]编码后变为了E[9-0]。其中,XOR即为异或逻辑运算。
而在对初始数据进行编码得到第二数据后,还需要对第二数据进行解码得到初始数据才能输出正确的信号。而在本申请的实施例中,编码和解码的方法可以相同,减少编解码过程中的繁琐变换,减少计算量和内存消耗。
如图6所示,为本申请实施例提供的解码一实施例流程示意图,可以包括:
61、获取待解码数据。
62、识别待解码数据中的插入数据。
63、删除插入数据。
具体的,在本申请的实施例中,解码过程和编码过程中所进行的逻辑运算是相同的。又由于编码后的数据相比于初始数据的比特数量增加,因此需要先去除待解码数据中的部分数据。
由于编码过程中插入了新的比特数据,因此在解码时,需要先去除插入的比特数据。
64、利用预设第一逻辑运算,对待解码数据中除插入数据外的其他比特数据进行解码,得到待解码数据解码后对应的初始数据。
由于编码和解码的逻辑运算相同,因此在解码时,同样可以利用被删除的插入数据对待解码数据中除插入数据之外的其他比特数据进行解码,以得到待解码数据解码后对应的初始数据。即在本申请的实施例中,第一逻辑运算和第一逻辑运算相同。
B[1]=E[0]⊕E[2]
B[2]=E[0]⊕E[3]
B[3]=E[0]⊕E[4]
如图7所示,为本申请实施例提供的解码逻辑电路一实施例示意图,请参考图5和图7,在本申请的实施例中,初始数据编码得到的第二数据中新增了部分比特数据,第二数据中的比特数增加。因此在解码时去除了新增的插入数据,对待解码数据中剩下的比特数据利用同样的逻辑运算进行解码,得到初始数据。本申请实施例提供的编解码方法,编码和解码进行的逻辑运算相同,减少了计算量和内存消耗。且编码解码的过程简单,编码效率也大大提高。
在图7中,B[0]=E[0],即对E[0]进行赋值运算得到B[0]。且在图7中,被去除的插入数据为E[1]和E[6],同样将E[1]和E[6]作为目标解码比特数据,对剩下的比特数据进行解码。
具体的,同样对待解码数据进行分段,得到多段待解码分段数据,并分别以E[1]和E[6]为目标解码比特数据,分别对多段待解码分段数据进行解码。在图7中,以待解码分段数据为E[2-4]为例,解码得到的B[1]=E[0]⊕E[2],而B[2]=E[0]⊕E[3],B[3]=E[0]⊕E[4]。利用图7中的解码方法可以得到B[0-7]的值。
本申请还提供一种编码装置,该编码装置可以实现如上任一项所述的编解码方法中的步骤。如图8所示,为本申请实施例提供的编解码装置一实施例示意图,可以包括:
第一获取模块801,获取模块801可以用于获取初始数据,初始数据中包括多个顺序排列的比特数据。
选择模块802,选择模块802可以用于在初始数据中选择第一数量的比特数据,作为编码比特数据,编码比特数据为对初始数据进行编码的比特数据。
第一编码模块803,第一编码模块803可以用于对第一数量的比特数据中的每个比特数据进行取反逻辑运算,得到目标数据,目标数据的数量等于第一数量。
第二编码模块804,第二编码模块804可以用于利用预设第一逻辑运算对初始数据中的每个比特数据进行编码,得到第一数据。
第三编码模块805,第三编码模块805可以用于将目标数据插入第一数据,得到初始数据编码后的第二数据。
本申请实施例提供的编码装置,无需对需要编码的初始数据进行逻辑判断运算,仅需要在待编码的初始数据中选择第一数量的比特数据作为编码比特数据,对编码比特数据进行编码得到目标数据,对初始数据中每个比特数据进行编码得到第一数据;同时将目标数据插入第一数据中,得到初始数据编码后的第二数据。整个编码方法简单,使得整个编码设计相对简易;而解码与编码的逻辑运算相同,降低了解码电路的设计难度。
在本申请的一些实施例中,选择模块802具体可以用于:确定初始数据中所有比特数据的第二数量;根据第二数量,确定编码比特数据对应的第一数量;在初始数据中随机选择第一数量的比特数据作为编码比特数据;其中,任意两个编码比特数据之间间隔预设比特位。
在本申请的一些实施例中,选择模块802具体可以用于:确定初始数据中所有比特数据的第二数量;根据第二数量,确定编码比特数据对应的第一数量;在初始数据中随机选择第一数量的比特数据作为第三数据;将第三数据中的每个比特数据进行取反运算,得到第四数据;第四数据为编码比特数据。
在本申请的另一些实施例中,选择模块802具体还可以用于:获取第二数量与预设数量的比值,并将比值向上取整,得到第一数量;其中,第一数量为正整数。
在本申请的另一些实施例中,第三编码模块805还可以用于:根据第一数量,将第一数据划分为多段数据,多段数据的数量等于第一数量;根据第一数量,将目标数据划分为多个子目标数据,多个子目标数据的数量等于第一数量;将多个子目标数据分别插入多段数据,得到初始数据编码后的第二数据。
本申请还提供一种服务器,该服务器可以包括:
一个或多个处理器;
存储器;以及
一个或多个应用程序,其中所述一个或多个应用程序被存储于所述存储器中,并配置为由所述处理器执行以实现前述的编解码方法。
如图9所示,为本申请实施例提供的解码装置一实施例示意图,该解码装置可以包括:
第二获取模块901,用于获取待解码数据,待解码数据包括多个顺序排序的比特数据;
识别模块902,用于识别待解码数据中的插入数据;
删除模块903,用于删除插入数据;
解码模块904,用于利用预设第一逻辑运算,对待解码数据中除插入数据外的其他比特数据进行解码,得到待解码数据解码后对应的初始数据。
本申请还提供一种服务器,其集成了本申请实施例所提供的任一种编码装置和解码装置,如图10所示,其示出了本申请实施例所涉及到的服务器的结构示意图,具体来讲:
该服务器可以包括一个或者一个以上处理核心的处理器1001、一个或一个以上计算机可读存储介质的存储器1002、电源1003和输入单元1004等部件。本领域技术人员可以理解,图6中示出的服务器结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
其中:
处理器1001是该服务器的控制中心,利用各种接口和线路连接整个服务器的各个部分,通过运行或执行存储在存储器1002内的软件程序和/或模块,以及调用存储在存储器1002内的数据,执行服务器的各种功能和处理数据,从而对服务器进行整体监控。可选的,处理器1001可包括一个或多个处理核心;优选的,处理器1001可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器1001中。
存储器1002可用于存储软件程序以及模块,处理器1001通过运行存储在存储器1002的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器1002可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据服务器的使用所创建的数据等。此外,存储器1002可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器1002还可以包括存储器控制器,以提供处理器1001对存储器1002的访问。
服务器还包括给各个部件供电的电源1003,优选的,电源1003可以通过电源管理系统与处理器1001逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源1003还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
该服务器还可包括输入单元1004,该输入单元1004可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
尽管未示出,服务器还可以包括显示单元等,在此不再赘述。具体在本实施例中,服务器中的处理器1001会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器1002中,并由处理器1001来运行存储在存储器1002中的应用程序,从而实现各种功能,如下:
获取待编码的初始数据,初始数据中包括多个顺序排列的比特数据;在初始数据中选择第一数量的比特数据,作为编码比特数据,编码比特数据为对初始数据进行编码的比特数据;对第一数量的比特数据中的每个比特数据进行取反逻辑运算,得到目标数据,目标数据的数量等于第一数量;利用预设第一逻辑运算和编码比特数据对初始数据中的每个比特数据进行编码,得到第一数据;将目标数据插入第一数据,得到初始数据编码后的第二数据。
或是:获取待解码数据,待解码数据包括多个顺序排序的比特数据;识别待解码数据中的插入数据;删除插入数据;利用预设第一逻辑运算,对待解码数据中除插入数据外的其他比特数据进行解码,得到待解码数据解码后对应的初始数据。
本申请还提供一种计算机可读存储介质,该存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。存储介质存储有计算机程序,该计算机程序被处理器进行加载,以执行本申请实施例所提供的任一种主机监控方法中的步骤。例如,所述计算机程序被处理器进行加载可以执行如下步骤:
获取待编码的初始数据,初始数据中包括多个顺序排列的比特数据;在初始数据中选择第一数量的比特数据,作为编码比特数据,编码比特数据为对初始数据进行编码的比特数据;对第一数量的比特数据中的每个比特数据进行取反逻辑运算,得到目标数据,目标数据的数量等于第一数量;利用预设第一逻辑运算和编码比特数据对初始数据中的每个比特数据进行编码,得到第一数据;将目标数据插入第一数据,得到初始数据编码后的第二数据。
或是:获取待解码数据,待解码数据包括多个顺序排序的比特数据;识别待解码数据中的插入数据;删除插入数据;利用预设第一逻辑运算,对待解码数据中除插入数据外的其他比特数据进行解码,得到待解码数据解码后对应的初始数据。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
以上对本申请实施例所提供的一种编码方法、解码方法、编码装置和解码装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (9)
1.一种编码方法,其特征在于,所述方法包括:
获取待编码的初始数据,所述初始数据中包括多个顺序排列的比特数据;
在所述初始数据中选择第一数量的比特数据,作为编码比特数据,所述编码比特数据为对所述初始数据进行编码的比特数据;
对所述第一数量的比特数据中的每个比特数据进行取反逻辑运算,得到目标数据,所述目标数据的数量等于所述第一数量;
利用预设第一逻辑运算和所述编码比特数据对所述初始数据中的每个比特数据进行编码,得到第一数据;
将所述目标数据插入所述第一数据,得到所述初始数据编码后的第二数据;
其中,所述将所述目标数据插入所述第一数据,得到所述初始数据编码后的第二数据,包括:
根据所述第一数量,将所述第一数据划分为多段数据,所述多段数据的数量等于所述第一数量;
根据所述第一数量,将所述目标数据划分为多个子目标数据,所述多个子目标数据的数量等于所述第一数量;
将所述多个子目标数据分别插入所述多段数据,得到所述初始数据编码后的第二数据。
2.根据权利要求1所述的编码方法,其特征在于,所述在所述初始数据中选择第一数量的比特数据,作为编码比特数据,包括:
确定所述初始数据中所有比特数据的第二数量;
根据所述第二数量,确定所述编码比特数据对应的第一数量;
在所述初始数据中随机选择第一数量的比特数据作为所述编码比特数据;
其中,任意两个编码比特数据之间间隔预设比特位。
3.根据权利要求2所述的编码方法,其特征在于,所述在所述初始数据中选择第一数量的比特数据,作为编码比特数据,包括:
确定所述初始数据中所有比特数据的第二数量;
根据所述第二数量,确定所述编码比特数据对应的第一数量;
在所述初始数据中随机选择第一数量的比特数据作为第三数据;
将所述第三数据中的每个比特数据进行取反运算,得到第四数据;
所述第四数据为所述编码比特数据。
4.根据权利要求2所述的编码方法,其特征在于,所述根据所述第二数量,确定所述编码比特数据对应的第一数量,包括:
获取所述第二数量与预设数量的比值,并将所述比值向上取整,得到所述第一数量;
其中,所述第一数量为正整数。
5.根据权利要求2所述的编码方法,其特征在于,所述第一数量大于等于2,所述在所述初始数据中任意选择所述第一数量的比特数据,作为所述编码比特数据,包括:
在所述初始数据中任意选择所述第一数量的比特数据,作为所述编码比特数据,所述编码比特数据的数量大于等于2;
任意两个编码比特数据间隔三个比特位。
6.根据权利要求1所述的编码方法,其特征在于,所述初始数据为八比特数据,所述第二数据为九比特数据或十比特数据。
7.一种解码方法,其特征在于,所述方法包括:
获取待解码数据,所述待解码数据包括多个顺序排序的比特数据;
识别所述待解码数据中的插入数据;
删除所述插入数据;
利用预设第一逻辑运算,对所述待解码数据中除所述插入数据外的其他比特数据进行解码,得到所述待解码数据解码后对应的初始数据;
其中,所述利用预设第一逻辑运算,对所述待解码数据中除所述插入数据外的其他比特数据进行解码,得到所述待解码数据解码后对应的初始数据,包括:
对所述待解码数据中除所述插入数据外的其他比特数据进行分段,得到多段待解码分段数据;
利用所述插入数据和所述预设第一逻辑运算,分别对所述多段待解码分段 数据进行解码,得到多段解码后的数据;
利用所述多段解码后的数据确定所述待解码数据解码后对应的初始数据。
8.一种编码装置,其特征在于,所述编码装置包括:
第一获取模块,用于获取待编码的初始数据,所述初始数据中包括多个顺序排列的比特数据;
选择模块,用于在所述初始数据中选择第一数量的比特数据,作为编码比特数据,所述编码比特数据为对所述初始数据进行编码的比特数据;
第一编码模块,用于对所述第一数量的比特数据中的每个比特数据进行取反逻辑运算,得到目标数据,所述目标数据的数量等于所述第一数量;
第二编码模块,用于利用预设第一逻辑运算对所述初始数据中的每个比特数据进行编码,得到第一数据;
第三编码模块,用于将所述目标数据插入所述第一数据,得到所述初始数据编码后的第二数据;
所述第三编码模块还用于:根据所述第一数量,将所述第一数据划分为多段数据,所述多段数据的数量等于所述第一数量;
根据所述第一数量,将所述目标数据划分为多个子目标数据,所述多个子目标数据的数量等于所述第一数量;
将所述多个子目标数据分别插入所述多段数据,得到所述初始数据编码后的第二数据。
9.一种解码装置,其特征在于,所述解码装置包括:
第二获取模块,用于获取待解码数据,所述待解码数据包括多个顺序排序的比特数据;
识别模块,用于识别所述待解码数据中的插入数据;
删除模块,用于删除所述插入数据;
解码模块,用于利用预设第一逻辑运算,对所述待解码数据中除所述插入数据外的其他比特数据进行解码,得到所述待解码数据解码后对应的初始数据;
其中,所述解码模块用于:
对所述待解码数据中除所述插入数据外的其他比特数据进行分段,得到多段待解码分段数据;
利用所述插入数据和所述预设第一逻辑运算,分别对所述多段待解码分段 数据进行解码,得到多段解码后的数据;
利用所述多段解码后的数据确定所述待解码数据解码后对应的初始数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110617152.6A CN113438050B (zh) | 2021-06-03 | 2021-06-03 | 一种编码方法、解码方法、编码装置和解码装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110617152.6A CN113438050B (zh) | 2021-06-03 | 2021-06-03 | 一种编码方法、解码方法、编码装置和解码装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113438050A CN113438050A (zh) | 2021-09-24 |
CN113438050B true CN113438050B (zh) | 2022-08-23 |
Family
ID=77803559
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110617152.6A Active CN113438050B (zh) | 2021-06-03 | 2021-06-03 | 一种编码方法、解码方法、编码装置和解码装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113438050B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019214139A1 (zh) * | 2018-05-11 | 2019-11-14 | 深圳市华星光电技术有限公司 | 编码方法、设备及可读存储介质 |
CN111357204A (zh) * | 2017-11-17 | 2020-06-30 | 高通股份有限公司 | 极性代码的上行链路控制信息分段 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109600194A (zh) * | 2017-09-30 | 2019-04-09 | 华为技术有限公司 | Ploar编码方法和编码装置、译码方法和译码装置 |
CN110098837B (zh) * | 2019-04-08 | 2020-11-06 | 深圳市华星光电技术有限公司 | 数据编码方法、解码方法、相关装置及存储介质 |
CN110086575B (zh) * | 2019-05-06 | 2021-10-08 | Tcl华星光电技术有限公司 | 编码方法、解码方法、相关装置及存储介质 |
-
2021
- 2021-06-03 CN CN202110617152.6A patent/CN113438050B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111357204A (zh) * | 2017-11-17 | 2020-06-30 | 高通股份有限公司 | 极性代码的上行链路控制信息分段 |
WO2019214139A1 (zh) * | 2018-05-11 | 2019-11-14 | 深圳市华星光电技术有限公司 | 编码方法、设备及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN113438050A (zh) | 2021-09-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112711935B (zh) | 编码方法、解码方法、装置及计算机可读存储介质 | |
CN107094021A (zh) | 数据压缩 | |
US9912353B1 (en) | Systems and methods for generating soft information in a flash device | |
CN109428602A (zh) | 一种数据编码方法、装置以及存储介质 | |
CN109428603A (zh) | 一种数据编码方法、装置以及存储介质 | |
CN100512020C (zh) | 一种译码方法及译码装置 | |
JP4456650B2 (ja) | Nb/mbコーディングの方法および装置」と補正する。 | |
CN116016606B (zh) | 一种基于智慧云的污水处理运维数据高效管理系统 | |
CN108712232A (zh) | 一种用于连续变量量子密钥分发系统中的多码字并行译码方法 | |
CN104424010A (zh) | 一种文本文档乱码检测及修复方法和系统 | |
CN112953680B (zh) | 编码方法、解码方法、编码装置及解码装置 | |
CN113438050B (zh) | 一种编码方法、解码方法、编码装置和解码装置 | |
CN110021368B (zh) | 比对型基因测序数据压缩方法、系统及计算机可读介质 | |
US8279095B2 (en) | Method for storing node information of Huffman tree and corresponding decoding method | |
CN113193873B (zh) | 编码方法、解码方法、编码装置及解码装置 | |
CN103944584A (zh) | 一种二维码译码的方法及其装置 | |
CN104202056B (zh) | 一种二维码纠错译码的方法及二维码装置 | |
CN111836051B (zh) | 一种桌面图像编码、解码方法及相关装置 | |
CN103597828A (zh) | 图像量化参数编码方法和图像量化参数解码方法 | |
CN115250351A (zh) | 用于图像数据的压缩方法、解压方法及相关产品 | |
CN110111851B (zh) | 基因测序数据压缩方法、系统及计算机可读介质 | |
CN115086684B (zh) | 一种基于crc的图像压缩方法、系统及介质 | |
CN107705340A (zh) | 一种图像解码的方法及装置 | |
CN111010200B (zh) | 基于异构多核的卫星气象数据喷泉解码算法硬件化系统 | |
CN117272989B (zh) | 基于字符编码压缩的屏蔽词识别方法、装置、设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |