数据编码方法和数据解码方法及其系统技术方案

技术编号:13394425 阅读:103 留言:0更新日期:2016-07-23 11:55
公开了数据编解码技术。数据编码方法包括:获得基础元素集合P,包括多个基础元素;获得基础元素组集合Q和基础元素组顺序表SQ,其中基础元素组是由基础元素组成的第一预定大小的基础元素组,SQ中的基础元素组SQ[k]是相互不同的基础元素组,且按预定顺序排列;获得待处理数据R;将待处理数据R转换为m*n的矩阵C,矩阵C中的每个元素Cij被取值为从待处理数据R中按顺序截取的第一预定大小的数据组;按SQ的基础元素组SQ[k]的顺序,针对每个SQ[k],从矩阵C中提取SQ[k]的单元矩阵C_SQ[k],其中,单元矩阵C_SQ[k]是m*n矩阵,且单元矩阵C_SQ[k]中的每个元素C_SQ[k]ij的取值规则是:如果矩阵C中的元素Cij=SQ[k]时,单元矩阵C_SQ[k]中的对应元素C_SQ[k]ij=1;否则,单元矩阵C_SQ[k]中的对应元素C_SQ[k]ij=0。

【技术实现步骤摘要】

本申请涉及数据处理领域,且更具体地,涉及一种数据编码方法及其系统以及数据解码方法及其系统。
技术介绍
在数据处理领域,为了进行例如数据编码、压缩等的数据处理,为了使得编码或压缩后的数据更小以便于存储和传输,都希望要编码或压缩的二进制数据具有更多的连续的零(即稀疏的)。可是现实中,要存储或传输的数据大多数是非稀疏的,即,不一定有很多连续的零,因此,在编码或压缩时,不能使得编码或压缩后的数据变得尽可能地小。较大的数据量不仅可能会需要更大的数据存储器、缓冲器等来存储或缓冲,还可能会减慢数据传输的速度,例如在传输带宽有限的情况下,如此对例如实时传输和播放的应用场景下是不利的。另外,在数据编码或压缩时,可进行无损编码或压缩或者有损编码或压缩。无损编码或压缩的数据可以在不损失任何信息细节的情况下被无损地解码或解压缩(还原),如此能够还原得到没有任何信息损失的原始数据。而有损编码或压缩可能损失一定程度的信息细节而得到数据量小的编码或压缩后数据,但是这样的有损编码或压缩的数据在还原时仅能还原出一部分信息,而丢失了一定程度的信息细节,如此,还原得到的数据并不是原始数据。从尽可能还原真实的数据的角度出发,期望更多地应用无损编码或压缩。因此,需要一种能够在无信息损失的情况下又使得编码或压缩后的数据的量尽可能小的技术。
技术实现思路
基于现有技术的上述问题之一,本专利技术的各个实施例公开了一种能够在无信息损失的情况下又使得编码或压缩后的数据的量尽可能小的技术。根据本专利技术的一个方面,提供一种数据编码方法,包括:第一获得步骤,获得基础元素集合P,其中所述基础元素集合P包括多个基础元素;第二获得步骤,获得基础元素组集合Q和基础元素组顺序表SQ,其中所述基础元素组集合Q中的基础元素组是由基础元素集合P中的基础元素组成的第一预定大小的基础元素组,所述基础元素组顺序表SQ中的基础元素组SQ[k]是相互不同的基础元素组,且按预定顺序排列,且所述基础元素组顺序表SQ的长度为LSQ,LSQ是正整数,其中,k∈[0,LSQ-1];第三获得步骤,获得待处理数据R;转换步骤,将所述待处理数据R转换为m*n的数据矩阵C,其中m和n是正整数,所述数据矩阵C中的每个元素Cij被取值为从待处理数据R中按顺序截取的第一预定大小的数据组,其中i和j是大于或等于0的整数,i∈[0,m-1],j∈[0,n-1],Cij∈Q;提取步骤,按所述基础元素组顺序表SQ中的基础元素组的所述预定顺序,从所述数据矩阵C中针对所述预定顺序的所有基础元素组提取各个单元矩阵作为单元矩阵组;其中,所述提取步骤包括:按所述基础元素组顺序表SQ的基础元素组SQ[k]的顺序,针对每个基础元素组SQ[k],从所述数据矩阵C中提取基础元素组顺序表SQ中的基础元素组SQ[k]的单元矩阵C_SQ[k],其中,单元矩阵C_SQ[k]是m*n矩阵,且单元矩阵C_SQ[k]中的每个元素C_SQ[k]ij的取值规则是:如果数据矩阵C中的元素Cij=SQ[k]时,单元矩阵C_SQ[k]中的对应元素C_SQ[k]ij=1;否则,单元矩阵C_SQ[k]中的对应元素C_SQ[k]ij=0。根据本专利技术的另一方面,提供一种数据编码系统,包括:存储器,用于存储一个或多个计算机可执行指令;处理器,运行从所述存储器中读取的所述一个或多个计算机可执行指令以进行如下步骤:第一获得步骤,获得基础元素集合P,其中所述基础元素集合P包括多个基础元素;第二获得步骤,获得基础元素组集合Q和基础元素组顺序表SQ,其中所述基础元素组集合Q中的基础元素组是由基础元素集合P中的基础元素组成的第一预定大小的基础元素组,所述基础元素组顺序表SQ中的基础元素组SQ[k]是相互不同的基础元素组,且按预定顺序排列,且所述基础元素组顺序表SQ的长度为LSQ,LSQ是正整数,其中,k∈[0,LSQ-1];第三获得步骤,获得待处理数据R;转换步骤,将所述待处理数据R转换为m*n的数据矩阵C,其中m和n是正整数,所述数据矩阵C中的每个元素Cij被取值为从待处理数据R中按顺序截取的第一预定大小的数据组,其中i和j是大于或等于0的整数,i∈[0,m-1],j∈[0,n-1],Cij∈Q;提取步骤,按所述基础元素组顺序表SQ中的基础元素组的所述预定顺序,从所述数据矩阵C中针对所述预定顺序的所有基础元素组提取各个单元矩阵作为单元矩阵组;其中,所述提取步骤包括:按所述基础元素组顺序表SQ的基础元素组SQ[k]的顺序,针对每个基础元素组SQ[k],从所述数据矩阵C中提取基础元素组顺序表SQ中的基础元素组SQ[k]的单元矩阵C_SQ[k],其中,单元矩阵C_SQ[k]是m*n矩阵,且单元矩阵C_SQ[k]中的每个元素C_SQ[k]ij的取值规则是:如果数据矩阵C中的元素Cij=SQ[k]时,单元矩阵C_SQ[k]中的对应元素C_SQ[k]ij=1;否则,单元矩阵C_SQ[k]中的对应元素C_SQ[k]ij=0。根据本专利技术的另一方面,提供一种数据解码方法,包括:第四获得步骤,获得基础元素组顺序表SQ,且所述基础元素组顺序表SQ中的基础元素组SQ[k]是相互不同的基础元素组,且按预定顺序排列,且所述基础元素组顺序表SQ的长度为LSQ,LSQ是正整数,其中,k∈[0,LSQ-1];第五获得步骤,获得单元矩阵组C_SQ,单元矩阵组C_SQ中的每个单元矩阵C_SQ[k]是m*n的矩阵;生成步骤,生成空的m*n的矩阵B并生成一个空数据T;第一还原步骤,针对每个单元矩阵C_SQ[k],按所述基础元素组顺序表SQ的基础元素组SQ[k]的顺序,针对基础元素组顺序表SQ的每个基础元素组SQ[k],当单元矩阵C_SQ[k]中的元素C_SQ[k]ij=1时,使得矩阵B的元素Bij=SQ[k],其中,i∈[0,m-1],j∈[0,n-1];第二还原步骤,按照矩阵B中的元素的顺序,顺序地将矩阵B中的元素排列在所述数据T中以得到还原的数据T。根据本专利技术的另一方面,提供一种数据解码系统,包括:存储器,用于存储一个或多个计算机可执行指令;处理器,运行从所述存储器中读取的所述一个或多个计算机可执行指令以进行如下步骤:第四获得步骤,获得基础元素组顺序表SQ,且所述基础元素组顺序表SQ中的基础元素组SQ[k]是相互不同的基础元素组,且按预定顺序排列,且所述基础元素组顺序表SQ的长度为LSQ,LSQ是正整数,其中,k∈[0,LSQ-1];第五获得步骤,获得单元矩阵组C_SQ,单元矩阵组C_SQ中的每个单元矩阵C_SQ[k]是m*n的矩阵;生成步骤,生成空的m*n的矩阵B并生成一个空数据本文档来自技高网...

【技术保护点】
一种数据编码方法,包括:第一获得步骤,获得基础元素集合P,其中所述基础元素集合P包括多个基础元素;第二获得步骤,获得基础元素组集合Q和基础元素组顺序表SQ,其中所述基础元素组集合Q中的基础元素组是由基础元素集合P中的基础元素组成的第一预定大小的基础元素组,所述基础元素组顺序表SQ中的基础元素组SQ[k]是相互不同的基础元素组,且按预定顺序排列,且所述基础元素组顺序表SQ的长度为LSQ,LSQ是正整数,其中,k∈[0,LSQ‑1];第三获得步骤,获得待处理数据R;转换步骤,将所述待处理数据R转换为m*n的数据矩阵C,其中m和n是正整数,所述数据矩阵C中的每个元素Cij被取值为从待处理数据R中按顺序截取的第一预定大小的数据组,其中i和j是大于或等于0的整数,i∈[0,m‑1],j∈[0,n‑1],Cij∈Q;提取步骤,按所述基础元素组顺序表SQ中的基础元素组的所述预定顺序,从所述数据矩阵C中针对所述预定顺序的所有基础元素组提取各个单元矩阵作为单元矩阵组;其中,所述提取步骤包括:按所述基础元素组顺序表SQ的基础元素组SQ[k]的顺序,针对每个基础元素组SQ[k],从所述数据矩阵C中提取基础元素组顺序表SQ中的基础元素组SQ[k]的单元矩阵C_SQ[k],其中,单元矩阵C_SQ[k]是m*n矩阵,且单元矩阵C_SQ[k]中的每个元素C_SQ[k]ij的取值规则是:如果数据矩阵C中的元素Cij=SQ[k]时,单元矩阵C_SQ[k]中的对应元素C_SQ[k]ij=1;否则,单元矩阵C_SQ[k]中的对应元素C_SQ[k]ij=0。...

【技术特征摘要】
1.一种数据编码方法,包括:
第一获得步骤,获得基础元素集合P,其中所述基础元素集合P包括多个基础元素;
第二获得步骤,获得基础元素组集合Q和基础元素组顺序表SQ,其中所述基础元素组集
合Q中的基础元素组是由基础元素集合P中的基础元素组成的第一预定大小的基础元素组,
所述基础元素组顺序表SQ中的基础元素组SQ[k]是相互不同的基础元素组,且按预定顺序排
列,且所述基础元素组顺序表SQ的长度为LSQ,LSQ是正整数,其中,k∈[0,LSQ-1];
第三获得步骤,获得待处理数据R;
转换步骤,将所述待处理数据R转换为m*n的数据矩阵C,其中m和n是正整数,所述数据
矩阵C中的每个元素Cij被取值为从待处理数据R中按顺序截取的第一预定大小的数据组,其
中i和j是大于或等于0的整数,i∈[0,m-1],j∈[0,n-1],Cij∈Q;
提取步骤,按所述基础元素组顺序表SQ中的基础元素组的所述预定顺序,从所述数据矩
阵C中针对所述预定顺序的所有基础元素组提取各个单元矩阵作为单元矩阵组;
其中,所述提取步骤包括:
按所述基础元素组顺序表SQ的基础元素组SQ[k]的顺序,针对每个基础元素组SQ[k],从
所述数据矩阵C中提取基础元素组顺序表SQ中的基础元素组SQ[k]的单元矩阵C_SQ[k],其
中,单元矩阵C_SQ[k]是m*n矩阵,且单元矩阵C_SQ[k]中的每个元素C_SQ[k]ij的取值规则是:
如果数据矩阵C中的元素Cij=SQ[k]时,单元矩阵C_SQ[k]中的对应元素C_SQ[k]ij=1;否
则,单元矩阵C_SQ[k]中的对应元素C_SQ[k]ij=0。
2.根据权利要求1所述的方法,其中,所述从所述数据矩阵C中提取的针对所述预定顺
序的基础元素组的单元矩阵是稀疏矩阵。
3.根据权利要求1所述的方法,当待处理数据R是长度为LR的待处理数据序列、第一预定
大小的基础元素组是长度h的基础元素序列时,其中,h和LR是正整数,所述转换步骤包括:
使得所述数据矩阵C中的每个元素Cij被取值为从待处理数据序列R中按顺序截取的长
度为h的子序列,且LR≤m×n×h。
4.根据权利要求1或3所述的方法,其中,所述转换步骤包括:
根据对数据处理的要求,自适应地选择每次待处理的数据R的大小,以确定所述数据矩
阵C的m和n的大小。
5.根据权利要求1或3所述的方法,其中,所述数据矩阵C的m与n的比值大于1/2且小于
2。
6.根据权利要求3所述的方法,其中,所述转换步骤包括:
确定所述数据矩阵C的m和n的大小,以使得m×n×h的值与LR的差值最小。
7.根据权利要求1或3所述的方法,其中,所述转换步骤包括:
在数据矩阵C中的元素Cij被取值为在从待处理数据R中按顺序截取的第一预定大小的
数据组之后,
将剩余的未被取值的元素Cij取值为空、或例外数据、或出现概率最小的基础元素组SQ[k],所述例外数据与每个基础元素组SQ[k]都不同。
8.根据权利要求1或3所述的方法,其中,所述提取步骤包括:
如果提取得到了除了最后一个单元矩阵的其他单元矩阵C_SQ[k],则无需进行最后一个
具体的提取步骤,而自动生成最后一个单元矩阵C_SQ[k],其中所述最后一个单元矩阵C_SQ[k]中的对应元素C_SQ[k]ij中取1的元素的位置是除了已得到的其他单元矩阵C_SQ[k]中各
个取1的元素的位置的剩余位置,且所述最后一个单元矩阵C_SQ[k]中的除了取1的元素以
外的元素取0。
9.根据权利要求1或3所述的方法,其中,当h=1时,所述基础元素组集合Q与所述基础
元素集合P相同。
10.根据权利要求1或3所述的方法,其中,所述基础元素组集合Q中的基础元素组是由
基础元素集合P中的所有基础元素能够组成的第一预定大小的所有的不相同的排列组合。
11.根据权利要求1或3所述的方法,其中,所述在所述基础元素组顺序表SQ中的基础元
素组SQ[k]的顺序包括如下中的一种:
公认的顺序;
按基础元素组SQ[k]的出现概率从小到大排列的顺序。
12.根据权利要求1所述的方法,其中,所述第一预定大小的基础元素组是由基础元素
组成的序列;
其中,所述第一预定大小大于基础元素的大小,
其中,所述待处理数据R是数据序列。
13.根据权利要求1所述的方法,还包括:
重复所述第三获得步骤、转换步骤和提取步骤。
14.根据权利要求1所述的方法,还包括:
对所述单元矩阵组串行或并行地进行如下操作中的至少一种:数据压缩操作;数据编
码操作;数据加密操作;数据传输操作。
15.一种数据编码系统,包括:
存储器,用于存储一个或多个计算机可执行指...

【专利技术属性】
技术研发人员:王杰林
申请(专利权)人:湖南千年华光软件开发有限公司
类型:发明
国别省市:湖南;43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1