CN105791832A - Data coding method, data decoding method, data coding system and data decoding system - Google Patents

Data coding method, data decoding method, data coding system and data decoding system Download PDF

Info

Publication number
CN105791832A
CN105791832A CN201610130306.8A CN201610130306A CN105791832A CN 105791832 A CN105791832 A CN 105791832A CN 201610130306 A CN201610130306 A CN 201610130306A CN 105791832 A CN105791832 A CN 105791832A
Authority
CN
China
Prior art keywords
infrastructure elements
matrix
data
elements group
group
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
Application number
CN201610130306.8A
Other languages
Chinese (zh)
Other versions
CN105791832B (en
Inventor
王杰林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan Qiannian Huaguang Software Development Co Ltd
Original Assignee
Hunan Qiannian Huaguang Software Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hunan Qiannian Huaguang Software Development Co Ltd filed Critical Hunan Qiannian Huaguang Software Development Co Ltd
Priority to CN201610130306.8A priority Critical patent/CN105791832B/en
Publication of CN105791832A publication Critical patent/CN105791832A/en
Application granted granted Critical
Publication of CN105791832B publication Critical patent/CN105791832B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/119Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

The invention discloses data coding/decoding technology. The data coding method comprises the steps of acquiring a basic element set P which comprises a plurality of basic elements; acquiring a basic element group set Q and a basic element group sequence list SQ, wherein the basic element group is composed of basic elements and has a first preset size, the basic element groups SQ[k] in SQ are different from each other and are arranged according to a preset sequence; acquiring to-be-processed data R; converting the to-be-processed data R to an m*n matrix C, wherein the value of each element Cij in the matrix C is set to a data set which is successively selected from the to-be-processed data R and has a first preset size; and extracting a unit matrix C-SQ[k] of the SQ[k] from the matrix C for each SQ[k] according to the sequence of the basic element group SQ[k] of the SQ, wherein the unit matrix C-SQ[k] is a m*n matrix, and the value taking rule of each element C-SQ[k]ij in the unit matrix C-SQ[k] is as follows: if the element Cij in the matrix C is equal with SQ[k], the corresponding element C-SQ[k]ij in the unit matrix C-SQ[k] is 1; and otherwise, the corresponding element C-SQ[k]ij in the unit matrix C-SQ[k] is 0.

Description

Data-encoding scheme and data decoding method and system thereof
Technical field
The application relates to data processing field, and more particularly, to a kind of data-encoding scheme and system thereof and data decoding method and system thereof.
Background technology
In data processing field, data in order to carry out such as data encoding, compression etc. process, so that the data after encoding or compressing are less so that storage and transmission, the binary data being intended to encode or to compress has more continuous print zero (namely sparse).In reality, the most of right and wrong of data that will store or transmit are sparse, i.e. not necessarily have a lot of continuous print zero, therefore, when coding or compression, it is impossible to make the data after coding or compression become little as much as possible.Bigger data volume not only may need bigger data storage, buffer etc. to store or cushion, be also possible to slow down the speed of data transmission, such as when transmission bandwidth is limited, so to being disadvantageous under the application scenarios of such as real-time Transmission and broadcasting.
It addition, when data encoding or compression, can be reversibly encoded or compress or lossy coding or compression.The data of lossless coding or compression can nondestructively be decoded or be decompressed (reduction) when not losing any detail of information, so can reduce the initial data obtaining not having any information loss.And lossy coding or compression a degree of detail of information of possible loss and obtain the little coding of data volume or compression after data, but the data of such lossy coding or compression are only capable of restoring a part of information when reduction, and lost a degree of detail of information, so, the data obtained of reducing not are initial data.From reducing the angle of real data as far as possible, it is desirable to application lossless coding or compression more.
Accordingly, it would be desirable to a kind of technology that the amount of data after coding or compression can be made again when without information loss little as far as possible.
Summary of the invention
One of the problems referred to above based on prior art, each embodiment of the present invention discloses a kind of technology that the amount of data after coding or compression can be made again when without information loss little as far as possible.
According to an aspect of the present invention, it is provided that a kind of data-encoding scheme, including: first obtains step, it is thus achieved that infrastructure elements set P, wherein said infrastructure elements set P includes multiple infrastructure elements;Second obtains step, it is thus achieved that infrastructure elements group set Q and infrastructure elements group sequence list SQ, the infrastructure elements group of the first predefined size that infrastructure elements group in wherein said infrastructure elements group set Q is made up of the infrastructure elements in infrastructure elements set P, described infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and arranges in a predetermined order, and described infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein, k ∈ [0, LSQ-1];3rd obtains step, it is thus achieved that pending data R;Switch process, is converted to the data matrix C of m*n by described pending data R, and wherein m and n is positive integer, each Elements C in described data matrix CijBy the data set that value is the first predefined size intercepted in order from pending data R, wherein i and j is greater than or equal to the integer of 0, i ∈ [0, m-1], j ∈ [0, n-1], Cij∈Q;Extraction step, by described infrastructure elements group sequence list SQIn the described predefined procedure of infrastructure elements group, from described data matrix C, extract unit matrix as cell matrix group for all infrastructure elements groups of described predefined procedure;Wherein, described extraction step includes: by described infrastructure elements group sequence list SQInfrastructure elements group SQThe order of [k], for each infrastructure elements group SQ[k], extracts infrastructure elements group sequence list S from described data matrix CQIn infrastructure elements group SQThe cell matrix C_S of [k]Q[k], wherein, cell matrix C_SQ[k] is m*n matrix, and cell matrix C_SQEach Elements C _ S in [k]Q[k]ijValue rule be: if the Elements C in data matrix Cij=SQTime [k], cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=0.
According to a further aspect in the invention, it is provided that a kind of data encoding system, including: memorizer, it is used for storing one or more computer executable instructions;Processor, runs the one or more computer executable instructions read from described memorizer to carry out following steps: first obtains step, it is thus achieved that infrastructure elements set P, wherein said infrastructure elements set P includes multiple infrastructure elements;Second obtains step, it is thus achieved that infrastructure elements group set Q and infrastructure elements group sequence list SQ, the infrastructure elements group of the first predefined size that infrastructure elements group in wherein said infrastructure elements group set Q is made up of the infrastructure elements in infrastructure elements set P, described infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and arranges in a predetermined order, and described infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein, k ∈ [0, LSQ-1];3rd obtains step, it is thus achieved that pending data R;Switch process, is converted to the data matrix C of m*n by described pending data R, and wherein m and n is positive integer, each Elements C in described data matrix CijBy the data set that value is the first predefined size intercepted in order from pending data R, wherein i and j is greater than or equal to the integer of 0, i ∈ [0, m-1], j ∈ [0, n-1], Cij∈Q;Extraction step, by described infrastructure elements group sequence list SQIn the described predefined procedure of infrastructure elements group, from described data matrix C, extract unit matrix as cell matrix group for all infrastructure elements groups of described predefined procedure;Wherein, described extraction step includes: by described infrastructure elements group sequence list SQInfrastructure elements group SQThe order of [k], for each infrastructure elements group SQ[k], extracts infrastructure elements group sequence list S from described data matrix CQIn infrastructure elements group SQThe cell matrix C_S of [k]Q[k], wherein, cell matrix C_SQ[k] is m*n matrix, and cell matrix C_SQEach Elements C _ S in [k]Q[k]ijValue rule be: if the Elements C in data matrix Cij=SQTime [k], cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=0.
According to a further aspect in the invention, it is provided that a kind of data decoding method, including: the 4th obtains step, it is thus achieved that infrastructure elements group sequence list SQ, and described infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and arranges in a predetermined order, and described infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein, k ∈ [0, LSQ-1];5th obtains step, it is thus achieved that cell matrix group C_SQ, cell matrix group C_SQIn each cell matrix C_SQ[k] is the matrix of m*n;Generation step, generates the matrix B of empty m*n and generates an empty data T;First reduction step, for each cell matrix C_SQ[k], by described infrastructure elements group sequence list SQInfrastructure elements group SQThe order of [k], for infrastructure elements group sequence list SQEach infrastructure elements group SQ[k], as cell matrix C_SQElements C _ S in [k]Q[k]ijWhen=1 so that the element B of matrix Bij=SQ[k], wherein, i ∈ [0, m-1], j ∈ [0, n-1];Second reduction step, according to the order of the element in matrix B, sequentially by the arrangement of elements in matrix B in described data T to obtain the data T of reduction.
According to a further aspect in the invention, it is provided that a kind of data decoding system, including: memorizer, it is used for storing one or more computer executable instructions;Processor, runs the one or more computer executable instructions read from described memorizer to carry out following steps: the 4th obtains step, it is thus achieved that infrastructure elements group sequence list SQ, and described infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and arranges in a predetermined order, and described infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein, k ∈ [0, LSQ-1];5th obtains step, it is thus achieved that cell matrix group C_SQ, cell matrix group C_SQIn each cell matrix C_SQ[k] is the matrix of m*n;Generation step, generates the matrix B of empty m*n and generates an empty data T;First reduction step, for each cell matrix C_SQ[k], by described infrastructure elements group sequence list SQInfrastructure elements group SQThe order of [k], for infrastructure elements group sequence list SQEach infrastructure elements group SQ[k], as cell matrix C_SQElements C _ S in [k]Q[k]ijWhen=1 so that the element B of matrix Bij=SQ[k], wherein, i ∈ [0, m-1], j ∈ [0, n-1];Second reduction step, according to the order of the element in matrix B, sequentially by the arrangement of elements in matrix B in described data T to obtain the data T of reduction.
Also provide for the computer-readable medium of a kind of non-momentary, have stored thereon one or more computer-readable instruction so that carry out the method according to various aspects of the invention when being run.
Also providing for a kind of computer executable program, it carries out the method according to various aspects of the invention when being run.
So, can so that the cell matrix for the infrastructure elements group of described predefined procedure extracted from described data matrix C becomes sparse matrix as much as possible, namely more sparse matrix is obtained as much as possible, thus being the plurality of advantages such as follow-up further data encoding, compression, storage etc. obtain that amount of calculation is little, calculate that speed is fast, compression ratio is high, data volume after coding and compression is little, amount of storage is little.And, according to the data-encoding scheme of each embodiment of the present invention, data are carried out lossless process, can nondestructively decode complete initial data in decoding end, it is thus achieved that extraordinary data decoding effect, and do not lose the information of initial data.Therefore, range of application widely, and excellent.
Accompanying drawing explanation
Fig. 1 illustrates that application includes the hardware scene graph of the communication system of encoder according to an embodiment of the invention.
Fig. 2 illustrates the hardware configuration of any one example in the shown encoder of Fig. 1.
Fig. 3 illustrates the example flow diagram of data-encoding scheme according to an embodiment of the invention.
Fig. 4 illustrates the example flow diagram of data decoding method according to another embodiment of the present invention.
Fig. 5 illustrates the exemplary plot being converted to sparse matrix from true picture.
Infrastructure elements group sequence list S when the example of infrastructure elements group set Q when Fig. 6 illustrates the example of infrastructure elements set P, h=1 and h=2, h=1 and h=2QThe figure of example.
Fig. 7 A illustrates the pending data R of example.
Fig. 7 B illustrates the example that the pending data R shown in Fig. 7 A is converted to m*n (such as, m=16, n=16) data matrix C.
Fig. 8 A-8D illustrates by described infrastructure elements group sequence list SQIn the described predefined procedure of infrastructure elements group, from described data matrix C, extract the unit matrix example as cell matrix group for all infrastructure elements groups of described predefined procedure.
Detailed description of the invention
Reference will now be made in detail to now specific embodiments of the invention, in the accompanying drawings exemplified with the example of the present invention.Although the present invention will be described in conjunction with specific embodiments, it will be understood that, it is not intended to limit the invention to described embodiment.On the contrary, it is desirable to cover the change included within the spirit and scope of the present invention, amendment and the equivalent that are defined by the following claims.It should be noted that method step described herein can be arranged by any functional device or function to realize, and any functional device or function are arranged and can be implemented as physical entity or logic entity or both combinations.
In order to make those skilled in the art be more fully understood that the present invention, below in conjunction with the drawings and specific embodiments, the present invention is described in further detail.
Noting, the example next introduced is only a specific example, not as restriction embodiments of the invention be necessary for illustrate and describe concrete profile, hardware, annexation, step, numerical value, condition, data, order etc..Those skilled in the art can use the design of the present invention to construct the more embodiments do not mentioned in this specification by reading this specification.
Fig. 1 illustrates that application includes the hardware scene graph of the communication system of encoder according to an embodiment of the invention.
Communication system as shown in Figure 1 includes encoder 100, channel and decoder 200.
It is known that the coding that the encoder 100 of communication system carries out can include source coding and channel coding.Message sink coding refers to the statistical property mainly by information source initial data, removes more information source redundancy as far as possible, thus the data volume after transmitting terminal reduces coding, improves data compression rate, to improve communication system high efficiency.And chnnel coding refers to ensure the communication system transmission reliability by channel, overcome the noise in channel and interference, it adds some error detections or error correction code element according to certain rule in information code element to be sent, the EDC error detection and correction rule between these error detections or error correction code element and information code element is utilized obtaining end, find mistake and correct mistake, to improve the reliability of information code element transmission.
In message sink coding, (namely compressed encoding can be divided into lossless compression-encoding, coding is reversible, namely original image can be recovered completely from the data after compressed encoding, information is not lost) and lossy compression method coding is (namely, coding is irreversible, namely cannot recover original image completely from the data after compressed encoding, and information has certain loss).
In message sink coding, it is often desirable that compress data (namely when lossless coding) as much as possible when not losing information.
And, it is generally recognized that the redundancy of data is more many, then compression ratio can be more high.But, the data of some reality inherently do not carry a lot of redundancies, and therefore, compression ratio is difficult to further raising always.And the present invention proposes the technology that the amount making the data after encoding or compressing when without information loss of a kind of improvement reduces further.
Fig. 2 illustrates the hardware configuration of any one example in the shown encoder of Fig. 1.
Encoder or decoder can include processor (H1);Memorizer (H2), is coupled in described processor (H1), and stores computer executable instructions wherein, for carrying out each step of each embodiment according to the present invention described further below by described processor when being performed.
Processor (H1) can include but not limited to such as one or more processor or or microprocessor etc..Memorizer (H2) can include but not limited to such as, random access memory (RAM), read only memory (ROM), flash memory, eprom memory, eeprom memory, depositor, hard disc, soft dish, solid state hard disc, removable dish, CD-ROM, DVD-ROM, Blu-ray disc etc..In addition, encoder or decoder can also including, but not limited to data/address bus (H3), input/output (I/O) buses (H4), display (H5) and input-output apparatus (H6) (such as, keyboard, mouse, speaker etc.) etc..Processor (H1) can pass through I/O bus (H4) and communicate with external equipment (H5, H6 etc.) via wired or wireless network (not shown).
Certainly, it practice, generally by being cured on digital processing chip by each step of each embodiment according to the present invention described further below by programming, can be exclusively used in, to be formed, the special IC being encoded and/or decoding.So can further speed up the speed of data process to meet the application of various real-time demand.
Following by exemplary and describe each embodiment of the data-encoding scheme according to the present invention and data decoding method without limitation.
Fig. 3 illustrates the example flow diagram of data-encoding scheme according to an embodiment of the invention.
Data-encoding scheme 300 as shown in Figure 3 includes: first obtains step 301, it is thus achieved that infrastructure elements set P, wherein said infrastructure elements set P includes multiple infrastructure elements;Second obtains step 302, it is thus achieved that infrastructure elements group set Q and infrastructure elements group sequence list SQ, the infrastructure elements group of the first predefined size that infrastructure elements group in wherein said infrastructure elements group set Q is made up of the infrastructure elements in infrastructure elements set P, described infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and arranges in a predetermined order, and described infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein, k ∈ [0, LSQ-1];3rd obtains step 303, it is thus achieved that pending data R;Switch process 304, is converted to the data matrix C of m*n by described pending data R, and wherein m and n is positive integer, each Elements C in described data matrix CijBy the data set that value is the first predefined size intercepted in order from pending data R, wherein i and j is greater than or equal to the integer of 0, i ∈ [0, m-1], j ∈ [0, n-1], Cij∈Q;Extraction step 305, by described infrastructure elements group sequence list SQIn the described predefined procedure of infrastructure elements group, from described data matrix C, extract unit matrix as cell matrix group for all infrastructure elements groups of described predefined procedure.In one embodiment, described extraction step 305 may include that by described infrastructure elements group sequence list SQInfrastructure elements group SQThe order of [k], for each infrastructure elements group SQ[k], extracts infrastructure elements group sequence list S from described data matrix CQIn infrastructure elements group SQThe cell matrix C_S of [k]Q[k], wherein, cell matrix C_SQ[k] is m*n matrix, and cell matrix C_SQEach Elements C _ S in [k]Q[k]ijValue rule be: if the Elements C in data matrix Cij=SQTime [k], cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=0.
So, can so that the cell matrix for the infrastructure elements group of described predefined procedure extracted from described data matrix C becomes sparse matrix as much as possible, namely more sparse matrix is obtained as much as possible, thus being the plurality of advantages such as follow-up further data encoding, compression, storage etc. obtain that amount of calculation is little, calculate that speed is fast, compression ratio is high, data volume after coding and compression is little, amount of storage is little.And, according to the data-encoding scheme of each embodiment of the present invention, data are carried out lossless process, can nondestructively decode complete initial data in decoding end, it is thus achieved that extraordinary data decoding effect, and do not lose the information of initial data.Therefore, range of application widely, and excellent.
Sparse matrix refers to the number of the nonzero element in this matrix and is far smaller than the sum of matrix element, and the distribution of nonzero element does not have any rule, it it not preferably but restriction, if the ratio of the quantity of all elements of the quantity of nonzero element and matrix is less than or equal to 0.05, then this matrix is sparse matrix (sparsematrix).In other words, when only having the binary data of 0 and 1 in a matrix, sparse matrix is just so that 1 in matrix is few as much as possible, makes 0 in matrix many as much as possible.Sparse matrix is advantageous in that its amount of calculation is less and calculates speed faster, because having only to process 1, on the other hand, in the data volume of data encoding and compression, sparse matrix also plays critically important effect, 0 element of redundancy is removed a small amount of 1, thus reaching the effect of the data volume after reducing coding and compression because of can only be encoded.Furthermore, in data storage, sparse matrix is it is also possible that be only a small amount of 1 one memory space of distribution, and neutral element does not distribute memory space, thus reaching to reduce the effect of data space.
Certainly, owing to the practical situation of pending real data is different, the cell matrix finally given differs, and to establish a capital be sparse matrix, but, the cell matrix obtained according to embodiments of the invention becomes the likelihood ratio of sparse matrix and uses additive method much bigger, particularly when the quantity of infrastructure elements group a lot (such as 1000), the probability that so each infrastructure elements group occurs in the Matrix C obtained from actual data transition is approximately 1/1000, therefore, obviously, by the value rule of applying unit matrix: if the Elements C in data matrix Cij=mono-infrastructure elements group SQTime [k], cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=0, the ratio of whole element numbers that the number of 1 in the cell matrix that so each infrastructure elements group is corresponding accounts for cell matrix is about 1/1000, it is seen that the number of corresponding in cell matrix 0 accounts for the ratio of whole element numbers of cell matrix up to about 999/1000.Therefore, it is easier to become sparse matrix so that finally extracting the cell matrix obtained according to embodiments of the invention.
Additionally, in an embodiment of the present invention, by the infrastructure elements group that infrastructure elements set constructor is the first predefined size being made up of the infrastructure elements in infrastructure elements set P in described infrastructure elements group set Q, can also pass through to adjust the first predefined size changeably, reach to be easily available the purpose of sparse matrix.Specifically, such as, infrastructure elements set P=[0,1], and the infrastructure elements group in infrastructure elements group set Q is (no matter be length to be the serial data of 4 by infrastructure elements group that such as the first predefined size is 4, or the matrix of 2*2), then the quantity of the infrastructure elements group in infrastructure elements group set Q can be 24=16.The ratio of whole element numbers that the number of 1 in the cell matrix that then each infrastructure elements group is corresponding accounts for cell matrix is about 1/16.And when the first predefined size is more big, then the quantity of the infrastructure elements group in infrastructure elements group set Q can be more many, and the ratio of the number of 1 in cell matrix corresponding to each infrastructure elements group whole element numbers of accounting for cell matrix is more little, then more it is likely to become sparse matrix so that finally extracting the cell matrix obtained.
As mentioned above, sparse matrix has great advantage at everyways such as data process, coding, compression, storage, transmission, therefore, more likely obtain the technical scheme of sparse matrix according to an embodiment of the invention and be obtained in that the effects such as fabulous data process, coding, compression, storage, transmission.
Convert the example of the detailed process of the switch process 304 of data matrix C and the extraction step 305 of extraction unit matrix to be referred to Fig. 5, Fig. 5 illustrate that the data R from true picture is converted to an exemplary plot of a cell matrix from pending data R.
It is assumed that a real view data R (not shown) assumes it is 100*60 pixel.Assuming that infrastructure elements set P is the pixel of white and black, infrastructure elements group set Q is the pixel groups (that is, the first predefined size is the block of 2*2) of 2*2, it is possible to include At this, the infrastructure elements group in infrastructure elements group set Q is all of permutation and combination differed of the first predefined size that be can make up by all infrastructure elements in infrastructure elements set P.But, in other embodiments, infrastructure elements group in infrastructure elements group set Q can also be choose a part from all of permutation and combination differed, such as, when only including certain several permutation and combination in known image to be processed or the probability that occurs in reality of certain several permutation and combination known bigger etc..
Then, the pending real image data R (not shown) of one 100*60 pixel is being converted to data matrix C (being the Matrix C of the block composition of the 25*15 of white and black as shown in the top of Fig. 5) (the i.e. m=25 of such as 25*15, n=15) in step, it is possible to each Elements C in data matrix CijBy the data set that value is the first predefined size (in this example embodiment 2*2) intercepted in order from pending data R.In Matrix C shown in the top of Fig. 5, each element is exactly the pixel groups of 2*2.It is to say, in this example embodiment, in the Matrix C shown in the top of Fig. 5, each element isWithIn one.Due to this real image inherently matrix form, therefore the pixel groups of every 2*2 of this image can correspond directly to an element in the Matrix C after changing.It is to say, m and the n of Matrix C can be identical with each image block obtained after the pixel groups intercepting 2*2 in order of real image quantity in the vertical and horizontal direction.
Then, this real image (not shown) converting the matrix that Matrix C just directly obtains the black and white block shown in top of Fig. 5 to, wherein, one of entry of a matrix element, white block representOne of entry of a matrix element, the block of black represent
Then, in extraction step, by described infrastructure elements group sequence list SQIn the described predefined procedure of infrastructure elements group, from described data matrix C, extract unit matrix as cell matrix group for all infrastructure elements groups of described predefined procedure.Assume infrastructure elements group sequence list SQOrder be …….So, come in order first be infrastructure elements groupThen for this infrastructure elements groupIf the element in data matrix CTime, then cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=0.So, it is possible to obtain the cell matrix of 0 shown in the bottom of Fig. 5 and 1.This cell matrix may be considered a kind of sparse matrix to a certain extent.
More than schematically illustrate the block when the infrastructure elements group of the first predefined size is made up of infrastructure elements or matrix, and pending data R is also data block or the situation of matrix (image is exactly a kind of data block or matrix form).But the invention is not restricted to this.Present invention can also apply to following field: the sequence that the infrastructure elements group of such as the first predefined size is made up of infrastructure elements, and described pending data R is data sequence.
In actual applications, data sequence can apply to text strings, letter string, color string etc., data block, data matrix, data area can apply to image etc., and the data individuality of any dimension, arbitrary shape can apply to the objects such as two dimension, the three-dimensional even four-dimension.
In wide variety of data sequence field (such as the coding of text strings), it is L when pending data R is lengthRPending data sequence, the first predefined size infrastructure elements group when being the infrastructure elements sequence of length h, wherein, h and LRBeing positive integer, described switch process includes: make each Elements C in described data matrix CijIt is the subsequence that length is h intercepted in order from pending data sequence R by value, and LR≤m×n×h。
The described embodiment of the present invention in data sequence field is described below in conjunction with Fig. 6-Fig. 8 D.
Infrastructure elements group sequence list S when the example of infrastructure elements group set Q when Fig. 6 illustrates the example of infrastructure elements set P, h=1 and h=2, h=1 and h=2QThe figure of example.
As shown in Figure 6, for instance infrastructure elements set P:[A, B, C, D].Such as, basic sequence set Q:[A, B, C, D when h=1].Sequence order table S when h=1Q: [D, C, B, A].And basic sequence set Q:[AA when h=2, AB, AC, AD, BA, BB, BC, BD, CA, CB, CC, CD, DA, DB, DC, DD].Sequence order table S when h=2Q: [AC, AA, AB, BA, AD, BB, BD, BC, CA, CB, CC, CD, DA, DD, DB, DC].
Visible, as h=1, described infrastructure elements group set Q and described infrastructure elements set P can be identical.And at this, the infrastructure elements group in infrastructure elements group set Q is all of permutation and combination differed of the length h=2 that be can make up by all infrastructure elements in infrastructure elements set P.Certainly, in other embodiments, the infrastructure elements group in infrastructure elements group set Q can also be the part in all of permutation and combination differed.
Note, basic sequence set Q and sequence order table SQDifference essentially consist in, each element in basic sequence set Q can be do not have sequential, and sequence order table SQIn each yuan have predetermined order.
In one embodiment, described at described infrastructure elements group sequence list SQIn infrastructure elements group SQThe order of [k] may include that generally acknowledged order;By infrastructure elements group SQOrder that the probability of occurrence of [k] arranges from small to large or other orders etc..Such as, sequence order table SQOrder A, B, C, the D that can be well recognized as, or predetermined D, C, B, A.Sequence order table SQOrder can also is that by the order that the probability of occurrence of A, B, C, D arranges from small to large.Specifically, for instance, according to statistical result, in a document, the probability that C occurs is minimum, D secondly, B again, the maximum probability that A occurs, then sequence order table SQOrder can be probability of occurrence C, D, B, A from small to large.Reason for this is that the A considering to will appear from maximum probability is placed on the last of order, make by order from front to back for C, D, after B has carried out the extraction of cell matrix, probability of occurrence is maximum, namely the probability that A occurs in current pending data sequence R is likely to maximum, namely in current pending data sequence R, the element of A is likely at most, therefore, obtaining for C, D, B has carried out after cell matrix, the cell matrix for A can be automatically derived without concrete extraction step, by automatically make the position taking the element of 1 in the corresponding element in this cell matrix be in addition in other cell matrixs obtained each take 1 the rest position of position of element, and the element except the element taking 1 in this cell matrix directly takes 0 automatically.So can save for occurring that A's that element is maximum takes 1 assess the cost one by one.
Fig. 7 A illustrates the pending data R of example.nullSuch as,Pending data sequence R is ABBBBBBBBBBCBBBBBDBBABBDBBBBBBCBBBBDBBBBBBBBBBBBBBBBBBBB BABBDBBBBBCBBBBBBBBBBBBCBBBBBBDBBBBBBBBBBBBDBBBBBBBBBABB BBBBBBBBBBDBBBBBBBBBBBBCBBBBBBABBABBBBBBBBBBBBBBBBBBBABB BBBBBBBBBBDBBBBBBBBBABBBBBBBBBBBDBBBBBBBBBBBBBBBBBBBBDBB CBBBBBBABBBBBBBCBBBABBBCBBBBBBBB.This, the length L of pending data sequence RRIt is such as 256.
Below in order to simplify description, take h=1.
Fig. 7 B illustrates that by the length shown in Fig. 7 A be LRPending data R be converted to the example of m*n (such as, m=16, n=16) data matrix C.In switch process 304, it is possible to make each Elements C in described data matrix CijIt is the subsequence that length is h intercepted in order from pending data sequence R by value, and LR≤m×n×h。
In one embodiment, it may be determined that the size of m and the n of described data matrix C, so that the value of m × n × h and LRDifference minimum.Due to h=1, and the length L of pending data RRBeing 256, what therefore, it can design data matrix C is sized to 16*16, i.e. m=16, n=16, therefore the value of m × n × h and LRDifference be 0, be minimum.
If but processing the pending data R that length is 256 every time, last in text strings to be processed, only remaining 250 elements, i.e. length are the pending data of 250, then can when the pending data that length is 250 being converted to the matrix of 16*16, by remaining not by the 6 of value Elements CijValue is the infrastructure elements group S that sky or exception data or probability of occurrence are minimumQ[k], wherein, these exception data and each infrastructure elements group SQ[k] is all different.So can so that in follow-up cell matrix extraction process, the such as empty of pending data value or exception data will not had to be extracted into 1 this, namely remaining 6 elements can be extracted into 0, so makes the cell matrix extracted more sparse.Should and by remaining not by the 6 of value Elements CijValue is the infrastructure elements group S that probability of occurrence is minimumQ[k], such as process as being all the minimum Elements C of probability of occurrence, then, when to each element extraction cell matrix, the probability that these remaining 6 elements can be extracted into 1 is minimum, namely bigger probability can be extracted as 0, so makes the more sparse probability of cell matrix extracted bigger.
In one embodiment, it is possible to according to the requirement that data are processed, select every time the size of pending data R adaptively, to determine the size of m and the n of described data matrix C.Such as, the whole data that encode are 65536 elements, and can select every time the size of pending data R is all 256, so needs to process 256 times but it also may the size selecting every time pending data R is all 1024, so needs process 64 times.The size of pending data R can be selected every time adaptively, thus further determining that the size of m and the n of described data matrix C according to the demand of the aspects such as the size that data process, speed, computation complexity, calculating speed.In another embodiment, select the size of pending data R to can also is that variable every time.
It addition, in one embodiment it is preferred that the ratio of m and the n of data matrix C is more than 1/2 and less than 2.Namely make data matrix C closer to square as far as possible.Because at this, long string of data sequence being dispersed closer in foursquare region as much as possible, can obtain more greatly when subsequent extracted cell matrix, the continuum of the more full 0 of region square or rectangular, and reduce the full 0 region of strip.The advantage that the sparse cell matrix of this shape so obtained can embody in follow-up coding, compression, storage, transmission etc. that data volume is less, amount of calculation is less, calculate speed faster etc..
As shown in Figure 7 B, it is possible to make each Elements C in described data matrix CijIt is the matrix that the subsequence that length is 1 intercepted in order from pending data sequence R obtains this 16*16 by value.
Fig. 8 A-8D illustrates by described infrastructure elements group sequence list SQIn the described predefined procedure of infrastructure elements group, from described data matrix C, extract the unit matrix example as cell matrix group for all infrastructure elements groups of described predefined procedure.
As shown in Figure 6, sequence order table S when h=1Q: [D, C, B, A].Therefore, by described infrastructure elements group sequence list SQInfrastructure elements group SQThe order of [k], for first infrastructure elements group D, extracts infrastructure elements group sequence list S from described data matrix CQIn the cell matrix C_S of infrastructure elements group DQ[k], wherein, cell matrix C_SQ[k] is m*n matrix, and cell matrix C_SQEach Elements C _ S in [k]Q[k]ijValue rule be: if the Elements C in data matrix CijDuring=D, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=0.
Then, from Fig. 7 B, the position at visible D place is (2,2), (2,8), (3,4), (4,13), (6,7), (7,4), (8,11), (13,3), (13,9), (14,14), therefore, as shown in Figure 8 A, position for element 1 place in the D cell matrix extracted also is (2,2), (2,8), (3,4), (4,13), (6,7), (7,4), (8,11), (13,3), (13,9), (14,14).And the element of all the other positions is 0.
From Fig. 8 A, the number of 1 is 10, and the number of 0 is then 246, and this is clearly a sparse matrix.
And in like manner, for second infrastructure elements group C, from described data matrix C, extract infrastructure elements group sequence list SQIn the cell matrix C_S of infrastructure elements group CQ[k], wherein, cell matrix C_SQ[k] is m*n matrix, and cell matrix C_SQEach Elements C _ S in [k]Q[k]ijValue rule be: if the Elements C in data matrix CijDuring=C, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=0.
Then, from Fig. 7 B, the position at visible C place is identical with the position for element 1 place in the C cell matrix extracted shown in Fig. 8 B.And the element for all the other positions in the C cell matrix extracted is 0.
And in like manner, for the 3rd infrastructure elements group B, from described data matrix C, extract infrastructure elements group sequence list SQIn the cell matrix C_S of infrastructure elements group BQ[k], wherein, cell matrix C_SQ[k] is m*n matrix, and cell matrix C_SQEach Elements C _ S in [k]Q[k]ijValue rule be: if the Elements C in data matrix CijDuring=B, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=0.
Then, from Fig. 7 B, the position at visible B place is identical with the position for element 1 place in the B cell matrix extracted shown in Fig. 8 C.And the element for all the other positions in the B cell matrix extracted is 0.
And in like manner, for last infrastructure elements group A, it is possible to without carrying out last concrete extraction step, and automatically generate last cell matrix C_SQ[k], wherein said last cell matrix C_SQCorresponding element C_S in [k]Q[k]ijIn take other cell matrixs C_S that the position of element of 1 is in addition to obtainQIn [k], each takes the rest position of position of element of 1 and described last cell matrix C_SQThe element except the element taking 1 in [k] takes 0.It is to say, shown in Fig. 8 D for the position of element taking 1 in the cell matrix of infrastructure elements group A can be in addition in other cell matrixs in Fig. 8 A-8C obtained each take 1 the rest position of position of element.As such, it is possible to omit concrete extraction step, further speed up calculating speed.
Then, from Fig. 7 B, the position at visible A place is identical with the position for element 1 place in the A cell matrix extracted shown in Fig. 8 D.And the element for all the other positions in the A cell matrix extracted is 0.
So, 4 cell matrixs being respectively directed to D, C, B, A are just obtained.Except for the unit of B, other 3 is all sparse matrix.As it was previously stated, sparse matrix is obtained in that the effects such as fabulous data process, coding, compression, storage, transmission.
Then, process after the pending data sequence R being over as shown in Figure 6, it is possible to take off one section of pending data sequence again and process, i.e. repeat the 3rd acquisition step 303, switch process 304 and extraction step 305.So, it is possible to all data contents to be processed are all extracted into the cell matrix group of a lot of cell matrix compositions.It is then possible to described cell matrix group is serially or parallelly carried out: data compression step;Data encoding operation;Data encryption operation;Data transfer operation etc..When cell matrix group is operated parallel, it is possible to concurrently all cell matrixs are carried out these operations so that processing speed further speeds up.
In one embodiment, it is possible to described cell matrix group is serially or parallelly carried out the data compression step of such as content-based adaptability binary arithmetic coding (Context-basedAdaptiveBinaryArithmeticCoding, CABAC).CABAC is a kind of arithmetic coding, and its ultimate principle is the interval being shown as by the message table of coding between real number 0 and 1, and message is more long, and its interval of coded representation is more little, and the binary digit needed for representing this interval is more many.Owing to CABAC is a kind of common data encoding/compression algorithm, it is possible to the data for 0,1 are encoded/compress.Therefore, CABAC is applied to the cell matrix with 0,1 data that each embodiment according to the present invention obtains, these cell matrixs can be carried out data encoding and compression further, thus reducing data volume further so that in storage, transmission etc. operation, obtain better effect.
Therefore, each embodiment according to the present invention, can so that obtaining more sparse matrix as much as possible, thus being the plurality of advantages such as follow-up further data encoding, compression, storage etc. obtain that amount of calculation is little, calculate that speed is fast, compression ratio is high, data volume after coding and compression is little, amount of storage is little.And, according to the data-encoding scheme of each embodiment of the present invention, data are carried out lossless process, can nondestructively decode complete initial data in decoding end, it is thus achieved that extraordinary data decoding effect, and do not lose the information of initial data.Therefore, range of application widely, and excellent.
Return Fig. 4, Fig. 4 and illustrate the example flow diagram of data decoding method according to another embodiment of the present invention.
Generally can reversibly carry out data decoding.Specifically, the data decoding method 400 shown in Fig. 4 includes: the 4th obtains step 401, it is thus achieved that infrastructure elements group sequence list SQ, and described infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and arranges in a predetermined order, and described infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein, k ∈ [0, LSQ-1];5th obtains step 402, it is thus achieved that cell matrix group C_SQ, cell matrix group C_SQIn each cell matrix C_SQ[k] is the matrix of m*n;Generation step 403, generates the matrix B of empty m*n and generates an empty data T;First reduction step 404, for each cell matrix C_SQ[k], by described infrastructure elements group sequence list SQInfrastructure elements group SQThe order of [k], for infrastructure elements group sequence list SQEach infrastructure elements group SQ[k], as cell matrix C_SQElements C _ S in [k]Q[k]ijWhen=1 so that the element B of matrix Bij=SQ[k], wherein, i ∈ [0, m-1], j ∈ [0, n-1];Second reduction step 405, according to the order of the element in matrix B, sequentially by the arrangement of elements in matrix B in described data T to obtain the data T of reduction.
In one embodiment, described first reduction step 404 may include that if for except other cell matrixs C_S of last cell matrixQ[k] reduction obtains matrix B, then without carrying out last first concrete reduction step again, and automatically by element group sequence list S based on the element value of value non-in matrix BQIn last infrastructure elements group S in orderQ[k]。
In one embodiment, in described first reduction step 404, as cell matrix C_SQElements C _ S in [k]Q[k]ijWhen=0, then can so that the element B of matrix BijFor empty or not element B to matrix BijValue.
The method 400 can also include: repeats the described 5th and obtains step, generation step, the first reduction step and the second reduction step, until all of cell matrix group is disposed, and gives up the element of non-value in data T to obtain the data T of reduction.
So, what data are carried out due to the data-encoding scheme of each embodiment according to the present invention is lossless process, therefore can also nondestructively decode complete initial data in decoding end, it is thus achieved that extraordinary data decoding effect, and not lose the information of initial data.Therefore, range of application widely, and excellent.
Certainly, above-mentioned specific embodiment is only example and unrestricted, and those skilled in the art can merge from above-mentioned each embodiment described separately according to the design of the present invention and combine some steps and device realizes the effect of the present invention, this merging and the embodiment combined are also included in the present invention, do not describe this merging and combination one by one at this.
Noting, the advantage mentioned in the disclosure, advantage, effect etc. are only exemplary rather than restriction, it is impossible to think that these advantages, advantage, effect etc. are that each embodiment of the present invention is prerequisite.It addition, detail disclosed above is merely to the effect of example and the effect that readily appreciates, and unrestricted, and above-mentioned details is not limiting as the present invention for above-mentioned concrete details must be adopted to realize.
The device that relates in the disclosure, device, equipment, system block diagram be only used as exemplary example and be not intended to requirement or hint the mode shown in block diagram must be attached, arrange, configure.As the skilled person will recognize, it is possible to connect by any-mode, arrange, configure these devices, device, equipment, system.Such as " include ", " comprising ", " having " etc. word be open vocabulary, refer to " including but not limited to ", and use can be exchanged with it.Vocabulary "or" used herein above and " with " refer to vocabulary "and/or", and use can be exchanged with it, unless it is not such that context is explicitly indicated.Vocabulary used herein above " such as " refer to phrase " such as, but not limited to ", and use can be exchanged with it.
Flow chart of steps and above method in the disclosure describe and are only used as exemplary example and are not intended to requirement or imply the step that must carry out each embodiment according to the order provided.As the skilled person will recognize, it is possible to carry out the order of step in above example in any order.Such as " thereafter ", the word of " then ", " next " etc. is not intended to limit the order of step;These words are only for guiding reader to read over the description of these methods.Additionally, such as use article " ", " one " or " being somebody's turn to do " to be not construed as this key element is limited to odd number for any quoting of the key element of odd number.
Additionally, the step in each embodiment and device herein are not only defined in certain embodiment and carry out, in fact, part steps relevant in each embodiment herein and partial devices can be combined to conceive new embodiment according to idea of the invention, and these new embodiments are intended to be included within the scope of the present invention.
Each operation of the process described above can be undertaken by carrying out any suitable means of corresponding function.These means can include various hardware and/or component software and/or module, includes but not limited to the circuit of hardware, special IC (ASIC) or processor.
Can utilize and be designed to carry out the general processor of function described herein, digital signal processor (DSP), ASIC, field programmable gate array signal (FPGA) or other PLDs (PLD), discrete gate or transistor logic, discrete nextport hardware component NextPort or its combination in any and realize or carry out the logical block of each described illustration, module and circuit.General processor can be microprocessor, but as replacing, this processor can be any commercially available processor, controller, microcontroller or state machine.Processor is also implemented as the combination of computing equipment, for instance the combination of DSP and microprocessor, one or more microprocessors that multi-microprocessor cooperates with DSP core or any other such configuration.
In the software module that the method described in conjunction with the disclosure or the step of algorithm can be directly embedded within hardware, processor performs or in the combination of both.Software module may reside in any type of tangible media.Some examples of operable storage medium include random access memory (RAM), read only memory (ROM), flash memory, eprom memory, eeprom memory, depositor, hard disc, removable dish, CD-ROM etc..Storage medium can be couple to processor so that this processor can from this read information and to this storage medium write information.In substitute mode, storage medium can be overall with processor.Software module can be single instruction or many instructions, and can be distributed on several different code segment, between different programs and stride across multiple storage medium.
Method disclosed herein includes the one or more actions for realizing described method.Method and/or action can be interchangeable with one another without deviating from scope of the claims.In other words, unless specifying the particular order of action, otherwise can revise the order of concrete action and/or using without deviating from scope of the claims.
Described function can realize by hardware, software, firmware or its combination in any.If implemented in software, function can be stored on practical computer-readable medium as one or more instructions.Storage medium can be any available tangible media that can be accessed by computer.By example rather than restriction, such computer-readable medium can include RAM, ROM, EEPROM, CD-ROM or the storage of other laser discs, magnetic disc storage or other magnetic memory devices or may be used for carrying or storing the desired program code of instruction or data structure form and any other tangible media that can be accessed by computer.As used herein, dish (disk) and dish (disc) include compact disk (CD), laser disk, CD, digital universal disc (DVD), soft dish and Blu-ray disc, wherein the usual magnetic ground of dish reproduces data, and dish reproduces data with utilizing laser optics.
Therefore, computer program can carry out operation given herein.Such as, such computer program can be the computer-readable tangible medium with tangible storage (and/or coding) instruction thereon, and this instruction can be performed by one or more processors to carry out operation described herein.Computer program can include the material of packaging.
Software or instruction can also be transmitted by transmission medium.It is, for example possible to use such as coaxial cable, optical fiber cable, twisted-pair feeder, numeral subscriber's line (DSL) or the transmission medium of the such as wireless technology of infrared, radio or microwave from website, server or other remote source software.
Additionally, module and/or other suitable means for carrying out method described herein and technology can be obtained by user terminal and/or base station download and/or other modes in due course.Such as, such equipment can be couple to server to promote the transmission of the means for carrying out method described herein.Or, various method described herein can provide via memory unit (such as the physical storage medium of RAM, ROM, such as CD or soft dish etc.), in order to user terminal and/or base station can obtain various method when being couple to this equipment or providing memory unit to this equipment.Furthermore, it is possible to utilize any other the suitable technology for method described herein and technology being supplied to equipment.
Other examples and implementation are in the scope of the disclosure and the accompanying claims and spirit.Such as, due to the essence of software, functionality described above can use the software performed by processor, hardware, firmware, hardwired or these arbitrary combination to realize.The feature realizing function can also be physically located in each position, including being distributed so that the part of function realizes in different physical locations.And, as used herein, including what use in the claims, what the "or" instruction enumerating middle use at the item started with " at least one " separated enumerates, so that enumerating of such as " at least one of A, B or C " means A or B or C, or AB or AC or BC, or ABC (i.e. A and B and C).Additionally, wording " example " does not mean that the example of description is preferred or better than other examples.
Various changes, replacement and change to technology described herein can be carried out without departing from the technology instructed defined by the appended claims.Additionally, the scope of the claims of the disclosure is not limited to the specific aspect of process described above, machine, manufacture, the composition of event, means, method and action.Can utilize carry out to corresponding aspect described herein essentially identical function or realize essentially identical result there is currently or process, machine, manufacture, the composition of event, means, method or the action that to develop after a while.Thus, claims include the such process within the scope of it, machine, manufacture, the composition of event, means, method or action.
The above description of the aspect disclosed in providing is so that any person skilled in the art can make or use the present invention.The various amendments of these aspects are readily apparent to those skilled in the art, and without deviating from the scope of the present invention in the General Principle of this definition can apply to other.Therefore, the present invention is not intended to be limited to the aspect being shown in which, but according to the widest range consistent with principle disclosed herein and novel feature.
In order to purpose of illustration and description has been presented for above description.Additionally, this description is not intended to limit embodiments of the invention form disclosed herein.Although already discussed above multiple exemplary aspect and embodiment, but it would be recognized by those skilled in the art that its some modification, amendment, change, interpolation and sub-portfolio.

Claims (20)

1. a data-encoding scheme, including:
First obtains step, it is thus achieved that infrastructure elements set P, wherein said infrastructure elements set P includes multiple infrastructure elements;
Second obtains step, it is thus achieved that infrastructure elements group set Q and infrastructure elements group sequence list SQ, the infrastructure elements group of the first predefined size that infrastructure elements group in wherein said infrastructure elements group set Q is made up of the infrastructure elements in infrastructure elements set P, described infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and arranges in a predetermined order, and described infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein, k ∈ [0, LSQ-1];
3rd obtains step, it is thus achieved that pending data R;
Switch process, is converted to the data matrix C of m*n by described pending data R, and wherein m and n is positive integer, each Elements C in described data matrix CijBy the data set that value is the first predefined size intercepted in order from pending data R, wherein i and j is greater than or equal to the integer of 0, i ∈ [0, m-1], j ∈ [0, n-1], Cij∈Q;
Extraction step, by described infrastructure elements group sequence list SQIn the described predefined procedure of infrastructure elements group, from described data matrix C, extract unit matrix as cell matrix group for all infrastructure elements groups of described predefined procedure;
Wherein, described extraction step includes:
By described infrastructure elements group sequence list SQInfrastructure elements group SQThe order of [k], for each infrastructure elements group SQ[k], extracts infrastructure elements group sequence list S from described data matrix CQIn infrastructure elements group SQThe cell matrix C_S of [k]Q[k], wherein, cell matrix C_SQ[k] is m*n matrix, and cell matrix C_SQEach Elements C _ S in [k]Q[k]ijValue rule be:
If the Elements C in data matrix Cij=SQTime [k], cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=0.
2. method according to claim 1, wherein, the described cell matrix for the infrastructure elements group of described predefined procedure extracted from described data matrix C is sparse matrix.
3. method according to claim 1, is L when pending data R is lengthRPending data sequence, the first predefined size infrastructure elements group when being the infrastructure elements sequence of length h, wherein, h and LRBeing positive integer, described switch process includes:
Make each Elements C in described data matrix CijIt is the subsequence that length is h intercepted in order from pending data sequence R by value, and LR≤m×n×h。
4. the method according to claim 1 or 3, wherein, described switch process includes:
According to the requirement that data are processed, select every time the size of pending data R adaptively, to determine the size of m and the n of described data matrix C.
5. the method according to claim 1 or 3, wherein, the ratio of m and the n of described data matrix C is more than 1/2 and less than 2.
6. method according to claim 3, wherein, described switch process includes:
Determine the size of m and the n of described data matrix C, so that the value of m × n × h and LRDifference minimum.
7. the method according to claim 1 or 3, wherein, described switch process includes:
Elements C in data matrix CijIt is after the data set of the first predefined size intercepted in order from pending data R by value,
By remaining not by the Elements C of valueijValue is the infrastructure elements group S that sky or exception data or probability of occurrence are minimumQ[k], described exception data and each infrastructure elements group SQ[k] is all different.
8. the method according to claim 1 or 3, wherein, described extraction step includes:
If extracting and obtaining other cell matrixs C_S except last cell matrixQ[k], then without carrying out last concrete extraction step, and automatically generate last cell matrix C_SQ[k], wherein said last cell matrix C_SQCorresponding element C_S in [k]Q[k]ijIn take other cell matrixs C_S that the position of element of 1 is in addition to obtainQIn [k], each takes the rest position of position of element of 1 and described last cell matrix C_SQThe element except the element taking 1 in [k] takes 0.
9. the method according to claim 1 or 3, wherein, as h=1, described infrastructure elements group set Q is identical with described infrastructure elements set P.
10. the method according to claim 1 or 3, wherein, the infrastructure elements group in described infrastructure elements group set Q is all of permutation and combination differed of the first predefined size that be can make up by all infrastructure elements in infrastructure elements set P.
11. the method according to claim 1 or 3, wherein, described at described infrastructure elements group sequence list SQIn infrastructure elements group SQThe order of [k] includes the one in as follows:
The order generally acknowledged;
By infrastructure elements group SQThe order that the probability of occurrence of [k] arranges from small to large.
12. method according to claim 1, wherein, the sequence that the infrastructure elements group of described first predefined size is made up of infrastructure elements;
Wherein, described first predefined size more than the size of infrastructure elements,
Wherein, described pending data R is data sequence.
13. method according to claim 1, also include:
Repeat the described 3rd and obtain step, switch process and extraction step.
14. method according to claim 1, also include:
At least one during described cell matrix group is serially or parallelly proceeded as follows: data compression step;Data encoding operation;Data encryption operation;Data transfer operation.
15. a data encoding system, including:
Memorizer, is used for storing one or more computer executable instructions;
Processor, runs the one or more computer executable instructions read from described memorizer to carry out following steps:
First obtains step, it is thus achieved that infrastructure elements set P, wherein said infrastructure elements set P includes multiple infrastructure elements;
Second obtains step, it is thus achieved that infrastructure elements group set Q and infrastructure elements group sequence list SQ, the infrastructure elements group of the first predefined size that infrastructure elements group in wherein said infrastructure elements group set Q is made up of the infrastructure elements in infrastructure elements set P, described infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and arranges in a predetermined order, and described infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein, k ∈ [0, LSQ-1];
3rd obtains step, it is thus achieved that pending data R;
Switch process, is converted to the data matrix C of m*n by described pending data R, and wherein m and n is positive integer, each Elements C in described data matrix CijBy the data set that value is the first predefined size intercepted in order from pending data R, wherein i and j is greater than or equal to the integer of 0, i ∈ [0, m-1], j ∈ [0, n-1], Cij∈Q;
Extraction step, by described infrastructure elements group sequence list SQIn the described predefined procedure of infrastructure elements group, from described data matrix C, extract unit matrix as cell matrix group for all infrastructure elements groups of described predefined procedure;
Wherein, described extraction step includes:
By described infrastructure elements group sequence list SQInfrastructure elements group SQThe order of [k], for each infrastructure elements group SQ[k], extracts infrastructure elements group sequence list S from described data matrix CQIn infrastructure elements group SQThe cell matrix C_S of [k]Q[k], wherein, cell matrix C_SQ[k] is m*n matrix, and cell matrix C_SQEach Elements C _ S in [k]Q[k]ijValue rule be:
If the Elements C in data matrix Cij=SQTime [k], cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=0.
16. a data decoding method, including:
4th obtains step, it is thus achieved that infrastructure elements group sequence list SQ, and described infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and arranges in a predetermined order, and described infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein, k ∈ [0, LSQ-1];
5th obtains step, it is thus achieved that cell matrix group C_SQ, cell matrix group C_SQIn each cell matrix C_SQ[k] is the matrix of m*n;
Generation step, generates the matrix B of empty m*n and generates an empty data T;
First reduction step, for each cell matrix C_SQ[k], by described infrastructure elements group sequence list SQInfrastructure elements group SQThe order of [k], for infrastructure elements group sequence list SQEach infrastructure elements group SQ[k], as cell matrix C_SQElements C _ S in [k]Q[k]ijWhen=1 so that the element B of matrix Bij=SQ[k], wherein, i ∈ [0, m-1], j ∈ [0, n-1];
Second reduction step, according to the order of the element in matrix B, sequentially by the arrangement of elements in matrix B in described data T to obtain the data T of reduction.
17. method according to claim 16, wherein, described first reduction step includes:
If for except other cell matrixs C_S of last cell matrixQ[k] reduction obtains matrix B, then without carrying out last first concrete reduction step again, and automatically by element group sequence list S based on the element value of value non-in matrix BQIn last infrastructure elements group S in orderQ[k]。
18. method according to claim 16, wherein, in described first reduction step, as cell matrix C_SQElements C _ S in [k]Q[k]ijWhen=0, then make the element B of matrix BijFor empty or not element B to matrix BijValue.
19. method according to claim 16, also include:
Repeat the described 5th and obtain step, generation step, the first reduction step and the second reduction step, until all of cell matrix group is disposed, and give up the element of non-value in data T to obtain the data T of reduction.
20. a data decoding system, including:
Memorizer, is used for storing one or more computer executable instructions;
Processor, runs the one or more computer executable instructions read from described memorizer to carry out following steps:
4th obtains step, it is thus achieved that infrastructure elements group sequence list SQ, and described infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and arranges in a predetermined order, and described infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein, k ∈ [0, LSQ-1];
5th obtains step, it is thus achieved that cell matrix group C_SQ, cell matrix group C_SQIn each cell matrix C_SQ[k] is the matrix of m*n;
Generation step, generates the matrix B of empty m*n and generates an empty data T;
First reduction step, for each cell matrix C_SQ[k], by described infrastructure elements group sequence list SQInfrastructure elements group SQThe order of [k], for infrastructure elements group sequence list SQEach infrastructure elements group SQ[k], as cell matrix C_SQElements C _ S in [k]Q[k]ijWhen=1 so that the element B of matrix Bij=SQ[k], wherein, i ∈ [0, m-1], j ∈ [0, n-1];
Second reduction step, according to the order of the element in matrix B, sequentially by the arrangement of elements in matrix B in described data T to obtain the data T of reduction.
CN201610130306.8A 2016-03-08 2016-03-08 Data-encoding scheme and data decoding method and its system Expired - Fee Related CN105791832B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610130306.8A CN105791832B (en) 2016-03-08 2016-03-08 Data-encoding scheme and data decoding method and its system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610130306.8A CN105791832B (en) 2016-03-08 2016-03-08 Data-encoding scheme and data decoding method and its system

Publications (2)

Publication Number Publication Date
CN105791832A true CN105791832A (en) 2016-07-20
CN105791832B CN105791832B (en) 2019-02-01

Family

ID=56388231

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610130306.8A Expired - Fee Related CN105791832B (en) 2016-03-08 2016-03-08 Data-encoding scheme and data decoding method and its system

Country Status (1)

Country Link
CN (1) CN105791832B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106452451A (en) * 2016-08-22 2017-02-22 湖南千年华光软件开发有限公司 Data processing method and device
CN110688092A (en) * 2019-09-04 2020-01-14 湖南遥昇通信技术有限公司 Random number generation method, device, equipment and storage medium
CN112636764A (en) * 2020-12-28 2021-04-09 德州正捷电气有限公司 Data coding system and method based on dual data decomposition
CN113810717A (en) * 2020-06-11 2021-12-17 华为技术有限公司 Image processing method and device

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699646A (en) * 2013-12-24 2014-04-02 吕志强 Tagging reversible compression method for binary data
CN104753626A (en) * 2013-12-25 2015-07-01 华为技术有限公司 Data compression method, equipment and system
US20160004715A1 (en) * 2014-07-02 2016-01-07 International Business Machines Corporation Minimizing Metadata Representation In A Compressed Storage System
US20160048531A1 (en) * 2014-08-12 2016-02-18 Tidal Systems, Inc. Adaptive Rate Compression Hash Processor

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103699646A (en) * 2013-12-24 2014-04-02 吕志强 Tagging reversible compression method for binary data
CN104753626A (en) * 2013-12-25 2015-07-01 华为技术有限公司 Data compression method, equipment and system
US20160004715A1 (en) * 2014-07-02 2016-01-07 International Business Machines Corporation Minimizing Metadata Representation In A Compressed Storage System
US20160048531A1 (en) * 2014-08-12 2016-02-18 Tidal Systems, Inc. Adaptive Rate Compression Hash Processor

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106452451A (en) * 2016-08-22 2017-02-22 湖南千年华光软件开发有限公司 Data processing method and device
CN106452451B (en) * 2016-08-22 2019-09-13 湖南千年华光软件开发有限公司 Data processing method and device
CN110688092A (en) * 2019-09-04 2020-01-14 湖南遥昇通信技术有限公司 Random number generation method, device, equipment and storage medium
CN113810717A (en) * 2020-06-11 2021-12-17 华为技术有限公司 Image processing method and device
CN113810717B (en) * 2020-06-11 2024-05-17 华为技术有限公司 Image processing method and device
CN112636764A (en) * 2020-12-28 2021-04-09 德州正捷电气有限公司 Data coding system and method based on dual data decomposition
CN112636764B (en) * 2020-12-28 2024-02-02 上海熙软科技有限公司 Data coding system and method based on double data decomposition

Also Published As

Publication number Publication date
CN105791832B (en) 2019-02-01

Similar Documents

Publication Publication Date Title
CN101095284B (en) Device and data method for selective compression and decompression and data format for compressed data
CN103858433A (en) Hierarchical entropy encoding and decoding
CN105791832A (en) Data coding method, data decoding method, data coding system and data decoding system
JP2014525183A (en) Method and apparatus for image compression storing encoding parameters in a 2D matrix
CN113795870B (en) Method, device and storage medium for encoding and decoding point cloud attribute
KR20140097210A (en) Terminable spatial tree-based position coding and decoding
CN112398484A (en) Coding method and related equipment
CN114222129A (en) Image compression encoding method, image compression encoding device, computer equipment and storage medium
CN111726615B (en) Point cloud coding and decoding method and coder-decoder
CN104125475A (en) Multi-dimensional quantum data compressing and uncompressing method and apparatus
US20140160241A1 (en) System and method for encoding and decoding a bitstream for a 3d model having repetitive structure
AU2012283580A1 (en) System and method for encoding and decoding a bitstream for a 3D model having repetitive structure
CN104104954A (en) Tile-based compression and decompression for graphic applications
CN101657973B (en) Recorded medium having program for coding and decoding using bit-precision, and apparatus thereof
CN112449191B (en) Method for compressing multiple images, method and device for decompressing images
WO2020186535A1 (en) Point cloud attribute encoding method and device, and point cloud attribute decoding method and device
WO2021103013A1 (en) Methods for data encoding and data decoding, device, and storage medium
JP2015506009A (en) Method and apparatus for generating iterative structure discovery based 3D model compressed bitstream
CN105163124A (en) Image coding method, image decoding method, image coding device and image decoding device
CN104682966A (en) Non-destructive compressing method for list data
CN114286104A (en) Image compression method, device and storage medium based on frequency domain layering
CN111836051B (en) Desktop image encoding and decoding method and related device
CN112584144B (en) Image signal processing method and device
CN116566397A (en) Encoding method, decoding method, encoder, decoder, electronic device, and storage medium
CN110545435B (en) Table top pixel coding method, device and storage medium based on probability model

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190201

Termination date: 20210308