CN105791832B - Data-encoding scheme and data decoding method and its system - Google Patents

Data-encoding scheme and data decoding method and its system Download PDF

Info

Publication number
CN105791832B
CN105791832B CN201610130306.8A CN201610130306A CN105791832B CN 105791832 B CN105791832 B CN 105791832B CN 201610130306 A CN201610130306 A CN 201610130306A CN 105791832 B CN105791832 B CN 105791832B
Authority
CN
China
Prior art keywords
infrastructure elements
data
matrix
group
elements 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.)
Expired - Fee Related
Application number
CN201610130306.8A
Other languages
Chinese (zh)
Other versions
CN105791832A (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

Disclose data encoding and decoding technique.Data-encoding scheme includes: to obtain infrastructure elements set P, including multiple infrastructure elements;Obtain infrastructure elements group set Q and infrastructure elements group sequence list SQ, the infrastructure elements group for the first predefined size that wherein infrastructure elements group is made of infrastructure elements, SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and is arranged in a predetermined order;Obtain pending data R;Pending data R is converted to the Matrix C of m*n, each Elements C in Matrix CijIt is the data group of the first predefined size intercepted in order from pending data R by value;By SQInfrastructure elements group SQThe sequence of [k], for each SQ[k], extracts S from Matrix CQThe 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 Matrix Cij=SQWhen [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.

Description

Data-encoding scheme and data decoding method and its system
Technical field
This application involves data processing fields, and more particularly, to a kind of data-encoding scheme and its system and number According to coding/decoding method and its system.
Background technique
In data processing field, in order to carry out the data processing such as data encoding, compression, in order to enable coding or pressure Data after contracting are smaller in order to store and transmit, and the binary data that is intended to encode or compress has more continuously Zero (i.e. sparse).But in reality, it is non-sparse for most of data of storage or transmission, that is, not necessarily has and much connects Therefore continuous zero in coding or compression, cannot make coding or compressed data become as small as possible.Biggish number It may not only may require that bigger data storage, buffer etc. according to amount to store or buffer, it is also possible to data transmission can be slowed down Speed, such as in the limited situation of transmission bandwidth, so to being unfavorable under the application scenarios of such as real-time Transmission and broadcasting 's.
In addition, in data encoding or compression, it can be reversibly encoded or compress or lossy coding or compression.Lossless volume Code or the data of compression nondestructively can be decoded or be decompressed (reduction) in the case where not losing any detail of information, so It can restore to obtain the initial data of no any information loss.And lossy coding or compression can a degree of information of the loss of energy Details and obtain data after the small coding of data volume or compression, but such lossy coding or the data of compression in reduction only A part of information can be restored, and is lost a degree of detail of information, in this way, the data that reduction obtains not are original number According to.From the angle for restoring true data as far as possible, it is expected that more applying lossless coding or compression.
Therefore, it is necessary to one kind, and the amount of coding or compressed data can be made again to the greatest extent may be used in the case where no information loss The small technology of energy.
Summary of the invention
One of the above problem based on the prior art, each embodiment of the invention disclose one kind and can damage in no information Make the amount technology as small as possible of coding or compressed data in the case where mistake again.
According to an aspect of the present invention, a kind of data-encoding scheme is provided, comprising: first obtains step, obtains basis Element set P, wherein the infrastructure elements set P includes multiple infrastructure elements;Second obtains step, obtains infrastructure elements group collection Close Q and infrastructure elements group sequence list SQ, wherein the infrastructure elements group in the infrastructure elements group set Q is by infrastructure elements set The infrastructure elements group of first predefined size of the infrastructure elements composition in P, the infrastructure elements group sequence list SQIn basis member Element group SQ[k] is mutually different infrastructure elements group, and is arranged in a predetermined order, and the infrastructure elements group sequence list SQLength Degree is LSQ, LSQIt is positive integer, wherein k ∈ [0, LSQ-1];Third obtains step, obtains pending data R;Switch process, will The pending data R is converted to the data matrix C of m*n, and wherein m and n is positive integer, each member in the data matrix C Plain CijBe the data group of the first predefined size intercepted in order from pending data R by value, wherein i and j be greater than or Integer equal to 0, i ∈ [0, m-1], j ∈ [0, n-1], Cij∈Q;Extraction step, by the infrastructure elements group sequence list SQIn The predetermined order of infrastructure elements group, all infrastructure elements groups from the data matrix C for the predetermined order mention Take each unit matrix as cell matrix group;Wherein, the extraction step includes: by the infrastructure elements group sequence list SQ's Infrastructure elements group SQThe sequence of [k], for each infrastructure elements group SQ[k] extracts infrastructure elements group from the data matrix C Sequence list SQIn 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=SQ When [k], cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQCorresponding element in [k] C_SQ[k]ij=0.
According to another aspect of the present invention, a kind of data encording system is provided, comprising: memory, for store one or Multiple computer executable instructions;Processor, running the one or more of computers read from the memory can hold Row instruction is to carry out following steps: first obtains step, infrastructure elements set P is obtained, wherein the infrastructure elements set P includes Multiple infrastructure elements;Second obtains step, obtains infrastructure elements group set Q and infrastructure elements group sequence list SQ, wherein the base The first predefined size that infrastructure elements group in plinth element group set Q is made of the infrastructure elements in infrastructure elements set P Infrastructure elements group, the infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and It arranges in a predetermined order, and the infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein k ∈ [0, LSQ- 1];Third obtains step, obtains pending data R;The pending data R is converted to the data matrix of m*n by switch process C, wherein m and n is positive integer, each Elements C in the data matrix CijIt is to be cut in order from pending data R by value The data group of the first predefined size taken, wherein i and j is greater than or equal to 0 integer, i ∈ [0, m-1], j ∈ [0, n-1], Cij ∈Q;Extraction step, by the infrastructure elements group sequence list SQIn infrastructure elements group the predetermined order, from the data All infrastructure elements groups in Matrix C for the predetermined order extract each unit matrix as cell matrix group;Wherein, institute Stating extraction step includes: by the infrastructure elements group sequence list SQInfrastructure elements group SQThe sequence of [k], for each basis member Element group SQ[k] extracts infrastructure elements group sequence list S from the data matrix CQIn infrastructure elements group SQThe cell matrix of [k] C_SQ[k], wherein cell matrix C_SQ[k] is m*n matrix, and cell matrix C_SQEach Elements C _ S in [k]Q[k]ij's Value rule is: if the Elements C in data matrix Cij=SQWhen [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 another aspect of the present invention, a kind of data decoding method is provided, comprising: the 4th obtains step, obtains basis Element group sequence list SQ, and the infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements Group, and arrange in a predetermined order, and the infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein k ∈ [0, LSQ-1];5th obtains step, obtaining unit 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 the infrastructure elements group sequence list SQInfrastructure elements group SQThe sequence 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 matrix B Element Bij=SQ[k], wherein i ∈ [0, m-1], j ∈ [0, n-1];Second reduction step, according to the suitable of the element in matrix B Sequence, the data T for sequentially being restored the arrangement of elements in matrix B in the data T.
According to another aspect of the present invention, a kind of data decoding system is provided, comprising: memory, for store one or Multiple computer executable instructions;Processor, running the one or more of computers read from the memory can hold Row instruction is to carry out following steps: the 4th obtains step, obtains infrastructure elements group sequence list SQ, and infrastructure elements group sequence Table SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and is arranged in a predetermined order, and the infrastructure elements Group sequence list SQLength be LSQ, LSQIt is positive integer, wherein k ∈ [0, LSQ-1];5th obtains step, obtaining unit 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 square of empty m*n Battle array B simultaneously generates an empty data T;First reduction step, for each cell matrix C_SQ[k], it is suitable by the infrastructure elements group Sequence table SQInfrastructure elements group SQThe sequence of [k], for infrastructure elements group sequence list SQEach infrastructure elements group SQ[k], works as list Variable 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 sequence of the element in matrix B, sequentially by the arrangement of elements in matrix B in institute Data T to be restored is stated in data T.
A kind of non-instantaneous computer-readable medium is also provided, one or more computer-readable fingers are had stored thereon It enables, so that the method for carrying out various aspects according to the present invention when being run.
A kind of computer executable program is also provided, the side of various aspects according to the present invention is carried out when being run Method.
In this way, the list of the infrastructure elements group for the predetermined order extracted from the data matrix C can be made Variable matrix becomes sparse matrix as much as possible, i.e., obtains more sparse matrixes as much as possible, thus to be subsequent further The acquisition calculation amount such as data encoding, compression, storage is small, calculating speed is fast, compression ratio is high, coding and compressed data volume are small, Many advantages, such as amount of storage is small.Moreover, the data-encoding scheme of each embodiment according to the present invention carries out lossless place to data Reason, can nondestructively decode complete initial data in decoding end, obtain extraordinary data decoding effect, former without losing The information of beginning data.Therefore, application range is very extensive, and excellent.
Detailed description of the invention
Fig. 1 shows the hardware scene of the communication system including encoder and decoder using embodiment according to the present invention Figure.
Fig. 2 shows the exemplary hardware configurations of any one of encoder and decoder shown in Fig. 1.
Fig. 3 shows the example flow diagram of data-encoding scheme according to an embodiment of the invention.
Fig. 4 shows the example flow diagram of data decoding method according to another embodiment of the present invention.
Fig. 5 shows the exemplary diagram that sparse matrix is converted to from true picture.
Infrastructure elements group set Q in the case that Fig. 6 shows example, h=1 and the h=2 of infrastructure elements set P shows Infrastructure elements group sequence list S in the case where example, h=1 and h=2QExemplary figure.
Fig. 7 A shows exemplary pending data R.
Fig. 7 B, which is shown, is converted to m*n (for example, m=16, n=16) data matrix C for pending data R shown in Fig. 7 A Example.
Fig. 8 A-8D is shown by the infrastructure elements group sequence list SQIn infrastructure elements group the predetermined order, from All infrastructure elements groups in the data matrix C for the predetermined order extract each unit matrix as cell matrix group Example.
Specific embodiment
It reference will now be made in detail to specific embodiments of the present invention now, instantiate example of the invention in the accompanying drawings.Although will knot The specific embodiment description present invention is closed, it will be understood that, it is not intended to limit the invention to the embodiment described.On the contrary, it is desirable to cover Cover the change for including within the spirit and scope of the present invention, modification and the equivalent being defined by the following claims.It should be noted that this In the method and step that describes can realize that and any functional block or function arrangement can quilts by any functional block or function arrangement It is embodied as the combination of physical entity or logic entity or the two.
In order to make those skilled in the art more fully understand the present invention, with reference to the accompanying drawings and detailed description to this hair It is bright to be described in further detail.
Note that the example next to be introduced is only a specific example, and not as limiting embodiments of the invention It is necessary for the specific shape for showing and describing, hardware, connection relationship, step, numerical value, condition, data, sequence etc..Ability Field technique personnel design of the invention can be used by reading this specification construct do not mentioned in this specification it is more Embodiment.
Fig. 1 shows the hardware scene of the communication system including encoder and decoder using embodiment according to the present invention Figure.
Communication system as shown in Figure 1 includes encoder 100, channel and decoder 200.
It is well known that the coding that the encoder 100 of communication system carries out may include source coding and channel coding.Information source Coding refers to the statistical property for mainly utilizing information source initial data, removes more information source redundancies as far as possible, thus Data volume after transmitting terminal reduces coding, improves data compression rate, to improve communication system high efficiency.And what channel coding referred to It is the transmission reliability in order to guarantee communication system by channel, overcomes the noise in channel and interference, according to certain rule Some error detections or error correction symbol is added in rule in information code element to be sent, obtain end using these error detections or error correction symbol with EDC error detection and correction rule between information code element, discovery mistake and correction mistake, to improve the reliability of information code element transmission.
In message sink coding, compressed encoding can be divided into lossless compression-encoding (that is, coding is reversible, i.e., from compressed encoding Data afterwards can restore original image completely, and information is not lost) and lossy compression coding (that is, coding be it is irreversible, It can not restore original image completely from the data after compressed encoding, information has certain loss).
In message sink coding, it is often desirable that (i.e. in the case where lossless coding) as much as possible in the case where not losing information Compressed data.
And, it is generally recognized that the redundancy of data is more, then compression ratio can be higher.But certain actual data sheets Body does not just carry many redundancies, and therefore, compression ratio is difficult to further increase always.And the invention proposes one kind to change Into the technology that further decreases of amount for making coding or compressed data again in the case where no information loss.
Fig. 2 shows the exemplary hardware configurations of any one of encoder and decoder shown in Fig. 1.
Encoder or decoder may include processor (H1);Memory (H2) is coupled in the processor (H1), and Computer executable instructions are wherein stored, for carrying out described further below according to the present invention when being executed by the processor Each embodiment each step.
Processor (H1) can include but is not limited to such as one or more processor or or microprocessor.Storage Device (H2) can include but is not limited to for example, random access memory (RAM), read-only memory (ROM), flash memory, Eprom memory, eeprom memory, register, hard disc, soft dish, solid state hard disk, removable dish, CD-ROM, DVD-ROM, indigo plant CD etc..In addition to this, encoder or decoder can also include but is not limited to data/address bus (H3), input/output (I/O) Bus (H4), display (H5) and input-output apparatus (H6) (for example, keyboard, mouse, loudspeaker etc.) etc..Processor (H1) it can be communicated via wired or wireless network (not shown) with external equipment (H5, H6 etc.) by I/O bus (H4).
It certainly, in fact, usually can be by by each of each embodiment according to the present invention described further below Step is cured on digital processing chip by programming, is exclusively used in carrying out coding and/or decoded specific integrated circuit to be formed. The speed of data processing can so be further speeded up to meet the application of various real-time demands.
Data-encoding scheme and data decoding method according to the present invention are described and not restrictive by exemplary as follows Each embodiment.
Fig. 3 shows 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: the first acquisition step 301, obtains infrastructure elements set P, wherein The infrastructure elements set P includes multiple infrastructure elements;Second obtains step 302, obtains infrastructure elements group set Q and basis member Element group sequence list SQ, wherein the infrastructure elements group in the infrastructure elements group set Q is by the basis member in infrastructure elements set P The infrastructure elements group of first predefined size of element composition, the infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is phase Mutually different infrastructure elements group, and arrange in a predetermined order, and the infrastructure elements group sequence list SQLength be LSQ, LSQIt is just Integer, wherein k ∈ [0, LSQ-1];Third obtains step 303, obtains pending data R;Switch process 304, by described wait locate Reason data R is converted to the data matrix C of m*n, and wherein m and n is positive integer, each Elements C in the data matrix CijIt is taken Value is the data group of the first predefined size intercepted in order from pending data R, wherein i and j be greater than or equal to 0 it is whole Number, i ∈ [0, m-1], j ∈ [0, n-1], Cij∈Q;Extraction step 305, by the infrastructure elements group sequence list SQIn basis member The predetermined order of element group, all infrastructure elements groups extraction from the data matrix C for the predetermined order are each Cell matrix is as cell matrix group.In one embodiment, the extraction step 305 may include: by the infrastructure elements Group sequence list SQInfrastructure elements group SQThe sequence of [k], for each infrastructure elements group SQ[k] is mentioned from the data matrix C Take infrastructure elements group sequence list SQIn infrastructure elements group SQThe cell matrix C_S of [k]Q[k], wherein cell matrix C_SQ[k] It is m*n matrix, and cell matrix C_SQEach Elements C _ S in [k]Q[k]ijValue rule be: if in data matrix C Elements Cij=SQWhen [k], cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQIn [k] Corresponding element C_SQ[k]ij=0.
In this way, the list of the infrastructure elements group for the predetermined order extracted from the data matrix C can be made Variable matrix becomes sparse matrix as much as possible, i.e., obtains more sparse matrixes as much as possible, thus to be subsequent further The acquisition calculation amount such as data encoding, compression, storage is small, calculating speed is fast, compression ratio is high, coding and compressed data volume are small, Many advantages, such as amount of storage is small.Moreover, the data-encoding scheme of each embodiment according to the present invention carries out lossless place to data Reason, can nondestructively decode complete initial data in decoding end, obtain extraordinary data decoding effect, former without losing The information of beginning data.Therefore, application range is very extensive, and excellent.
Sparse matrix refers to that the number of the nonzero element in the matrix is far smaller than the sum of matrix element, and non-zero The distribution of element preferably but is not limitation without what rule, if all elements of the quantity and matrix of nonzero element The ratio of quantity is less than or equal to 0.05, then the matrix is sparse matrix (sparse matrix).In other words, in a matrix In the case where only 0 and 1 binary data, sparse matrix is exactly to make 0 in matrix most so that 1 in matrix is few as much as possible It is possibly more.Sparse matrix be advantageous in that its calculation amount is smaller and calculating speed faster because only needing to handle 1, another party Face, in terms of data encoding and the data volume of compression, sparse matrix also plays critically important effect, because can be only to a small amount of 1 is encoded and is removed 0 element of redundancy, to achieve the effect that reduce coding and compressed data volume.Furthermore in data Storage aspect, sparse matrix is it is also possible that one memory space of only a small amount of 1 distribution, and it is empty not distribute neutral element storage Between, to achieve the effect that reduce data space.
Certainly, since the actual conditions of real data to be processed are different, different establish a capital of finally obtained cell matrix is Sparse matrix, still, the likelihood ratio that the cell matrix that embodiment according to the present invention obtains becomes sparse matrix use its other party Method is much greater, especially in the case where the quantity of infrastructure elements group very much (such as 1000), then each infrastructure elements Group is about 1/1000 in the probability occurred from the Matrix C that actual data transition obtains, it is, therefore, apparent that passing through applying unit The value rule of matrix: if the Elements C in data matrix Cij=mono- infrastructure elements group SQWhen [k], cell matrix C_SQ[k] In corresponding element C_SQ[k]ij=1;Otherwise, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=0, then each The ratio that 1 number in the corresponding cell matrix of infrastructure elements group accounts for whole element numbers of cell matrix is about 1/ 1000, it is seen that the ratio that 0 number in corresponding cell matrix accounts for whole element numbers of cell matrix is up to about 999/ 1000.Therefore, embodiment according to the present invention is easier so that finally extracting obtained cell matrix becomes sparse matrix.
In addition, in an embodiment of the present invention, the infrastructure elements group in the infrastructure elements group set Q is configured to by base The infrastructure elements group of first predefined size of the infrastructure elements composition in plinth element set P, can also be by being variably adjusted the One predefined size, to achieve the purpose that be easier to obtain sparse matrix.Specifically, for example, infrastructure elements set P=[0,1], and Infrastructure elements group in infrastructure elements group set Q be by such as the first predefined size be 4 infrastructure elements group (either length is 4 serial data 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 for whole element numbers that then 1 number in the corresponding cell matrix of each infrastructure elements group accounts for cell matrix is about 1/16.And when the first predefined size is bigger, then the quantity of the infrastructure elements group in infrastructure elements group set Q can be more, and every The ratio for whole element numbers that 1 number in the corresponding cell matrix of a infrastructure elements group accounts for cell matrix is smaller, then gets over Obtained cell matrix may finally to extract as sparse matrix.
As described above, sparse matrix is in everyways such as data processing, coding, compression, storage, transmission with greatly excellent Gesture, therefore, the technical solution for being more likely to obtain sparse matrix of embodiment according to the present invention can obtain at fabulous data Reason, coding, compression, storage, transmission and other effects.
The switch process 304 of data matrix C and the extraction step 305 of extraction unit matrix are converted into from pending data R The example of detailed process can refer to Fig. 5, Fig. 5 show from the data R of true picture and be converted to the one of a cell matrix A exemplary diagram.
It is assumed that a true image data R (not shown) hypothesis is 100*60 pixel.Assuming that infrastructure elements set P is The pixel of white and black, infrastructure elements group set Q are the pixel groups (that is, block that the first predefined size is 2*2) of 2*2, can be with Including
Here, the infrastructure elements group in infrastructure elements group set Q is by all basis members in infrastructure elements set P All different permutation and combination for the first predefined size that element can make up.But in other embodiments, infrastructure elements Infrastructure elements group in group set Q is also possible to choose a part from all different permutation and combination, for example, known When only including certain several permutation and combination in image to be processed or probability that certain known several permutation and combination occur in reality compared with It is big etc..
Then, the real image data R (not shown) to be processed of a 100*60 pixel is being converted into such as 25*15 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) (i.e. m=25, n=15) The step of in, can be with each Elements C in data matrix CijBy value be intercepted in order from pending data R it is first pre- Determine the data group of size (2*2 in this example embodiment).Each element is exactly the pixel group of 2*2 in Matrix C shown in the top of Fig. 5. That is, in this example embodiment, each element is in Matrix C shown in the top of Fig. 5WithIn It is a kind of.Due to the true image inherently matrix form, the pixel group of every 2*2 of the image can be directly right It should be in an element in the Matrix C after conversion.That is, the m and n of Matrix C can be cut in order with true image Take the quantity of each image block obtained after the pixel group of 2*2 in the vertical and horizontal direction identical.
Then, which is converted into Matrix C and just directly obtains black and white block shown in the top of Fig. 5 Matrix, wherein one of element of matrix, white block representThe block representative of one of element of matrix, black
Then, in extraction step, by the infrastructure elements group sequence list SQIn infrastructure elements group it is described make a reservation for it is suitable Sequence, all infrastructure elements groups from the data matrix C for the predetermined order extract each unit matrix as unit Matrix group.Assuming that infrastructure elements group sequence list SQSequence be …….So, it comes in order First is infrastructure elements groupThen it is directed to the infrastructure elements groupIf the member in data matrix C ElementWhen, then cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQ Corresponding element C_S in [k]Q[k]ij=0.In this way, can be obtained by shown in the lower part of Fig. 50 and 1 cell matrix.The list Variable matrix may be considered a kind of sparse matrix to a certain extent.
The block or matrix when the infrastructure elements group of the first predefined size is made of infrastructure elements are schematically illustrated above, and wait locate The case where reason data R is also data block or matrix (image is exactly a kind of data block or matrix form).But the present invention is not limited to This.Present invention can also apply to following fields: what the infrastructure elements group of such as the first predefined size was made of infrastructure elements Sequence, and the pending data R is data sequence.
In practical applications, data sequence can be applied to text strings, alphabetic string, color string etc., data block, data square Battle array, data area can be applied to image etc., and the data individual of any dimension, arbitrary shape can be applied to two dimension, three-dimensional The even objects such as four-dimension.
In widely applied data sequence field (such as coding for text strings), when pending data R is length For LRPending data sequence, the infrastructure elements group of the first predefined size is when being the infrastructure elements sequence of length h, wherein h and LRIt is positive integer, the switch process includes: each Elements C so that in the data matrix CijIt is from number to be processed by value The subsequence for being h according to the length intercepted in order in sequence R, and LR≤m×n×h。
The embodiment of the invention in data sequence field is described below with reference to Fig. 6-Fig. 8 D.
Infrastructure elements group set Q in the case that Fig. 6 shows example, h=1 and the h=2 of infrastructure elements set P shows Infrastructure elements group sequence list S in the case where example, h=1 and h=2QExemplary figure.
As shown in fig. 6, such as infrastructure elements set P:[A, B, C, D].For example, the basic sequence set in the case where h=1 Q:[A, B, C, D].Sequence order table S in the case where h=1Q: [D, C, B, A].And the basic sequence set in the case where h=2 Q:[AA, AB, AC, AD, BA, BB, BC, BD, CA, CB, CC, CD, DA, DB, DC, DD].Sequence order table in the case where h=2 SQ: [AC, AA, AB, BA, AD, BB, BD, BC, CA, CB, CC, CD, DA, DD, DB, DC].
As it can be seen that the infrastructure elements group set Q and infrastructure elements set P can be identical as h=1.And This, the infrastructure elements group in infrastructure elements group set Q is the length that can make up by all infrastructure elements in infrastructure elements set P Spend all different permutation and combination of h=2.Certainly, in other embodiments, the basis member in infrastructure elements group set Q Plain group of a part being also possible in all different permutation and combination.
Note that basic sequence set Q and sequence order table SQDifference essentially consist in, it is each in basic sequence set Q Element, which can be, does not have sequential, and sequence order table SQIn each member be known as scheduled sequence.
In one embodiment, described in the infrastructure elements group sequence list SQIn infrastructure elements group SQThe sequence of [k] can To include: generally acknowledged sequence;By infrastructure elements group SQSequence or other sequences that the probability of occurrence of [k] arranges from small to large etc.. For example, sequence order table SQSequence can be generally acknowledged A, B, C, D or scheduled D, C, B, A.Sequence order table SQSequence It can also be the sequence arranged from small to large by the probability of occurrence of A, B, C, D.Specifically, for example, according to statistical result, in document In, the probability that C occurs is minimum, D secondly, B again, the maximum probability that A occurs, then sequence order table SQSequence can be appearance C, D, B, the A of probability from small to large.Reason for this is that consider by the maximum A of probability of occurrence be placed on sequence finally, making After the extraction for all having carried out cell matrix for C, D, B by sequence from front to back, probability of occurrence is maximum, i.e., currently wait locate The probability for managing A appearance in data sequence R may also be maximum, i.e., the element of A may be most in current pending data sequence R, Therefore, it after having obtained all having carried out cell matrix for C, D, B, can be automatically derived without specific extraction step For the cell matrix of A, by automatically to take 1 position of element to be in addition in the corresponding element in the cell matrix In other obtained cell matrixs it is each take 1 element position rest position, and the member in addition to taking 1 in the cell matrix Element other than element directly takes 0 automatically.The calculating cost for taking 1 one by one for being directed to and the most A of element occur can be saved in this way.
Fig. 7 A shows exemplary pending data R.For example, pending data sequence R is ABBBBBBBBBBCBBBBBDBBABBDBBBBBBCBBBBDBBBBBBBBBBBBBBBBBBBBBABBDBBBBBCBBBBBBBBBB BBCBBBBBBDBBBBBBBBBBBBDBBBBBBBBBABBBBBBBBBBBBDBBBBBBBBBBBBCBBBBBBABBABBBBBBBB BBBBBBBBBBBABBBBBBBBBBBBDBBBBBBBBBABBBBBBBBBBBDBBBBBBBBBBBBBBBBBBBBDBBCBBBBBB ABBBBBBBCBBBABBBCBBBBBBBB.Here, the length L of pending data sequence RRIt is such as 256.
Below to simplify the description, h=1 is taken.
It is L that Fig. 7 B, which is shown length shown in Fig. 7 A,RPending data R be converted to m*n (for example, m=16, n= 16) example of data matrix C.In switch process 304, each Elements C in the data matrix C can be madeijBy value The subsequence for being h for the length intercepted in order from pending data sequence R, and LR≤m×n×h。
In one embodiment, the size of the m and n of the data matrix C can be determined so that m × n × h value with LRDifference it is minimum.Due to h=1, and the length L of pending data RRIt is 256, it therefore, can be with the size of design data Matrix C For 16*16, i.e. m=16, n=16, therefore m × n × h value and LRDifference be 0, be the smallest.
If but the pending data R for being 256 in length per treatment, in text strings to be processed finally, being only left The pending data that 250 elements, i.e. length are 250 then can be converted to 16*16 in the pending data for being 250 by length Matrix when, by remaining not by 6 Elements Cs of valueijValue is empty or make an exception data or the smallest basis of probability of occurrence Element group SQ[k], wherein the exception data and each infrastructure elements group SQ[k] is all different.It can make in this way in subsequent list In variable matrix extraction process, this will not be there is no for example empty or exception data of pending data value be extracted into 1, i.e., remaining 6 A element can be extracted into 0, so that the cell matrix of extraction is more sparse.This and by remaining not by 6 elements of value CijValue is the smallest infrastructure elements group S of probability of occurrenceQ[k], such as processing then exist to be all the smallest Elements C of probability of occurrence When to each element extraction cell matrix, the probability that this remaining 6 element can be extracted into 1 is minimum, i.e., more maximum probability can quilt It is extracted as 0, so that the probability that the cell matrix of extraction is more sparse is bigger.
In one embodiment, data R to be processed every time can be adaptive selected according to the requirement to data processing Size, with the size of the m and n of the determination data matrix C.For example, the entire data to be encoded are 65536 elements, and The size that can choose data R to be processed every time is all 256, needs to handle in this way 256 times, but also can choose every time wait locate The size of the data R of reason is all 1024, needs to handle in this way 64 times.It can be complicated according to the size of data processing, speed, calculating Degree, calculating speed etc. demand be adaptive selected the size of data R to be processed every time, to further determine that institute State the size of the m and n of data matrix C.In another embodiment, selecting the size of data R to be processed can also be every time can Become.
In addition, in one embodiment it is preferred that the ratio of the m and n of data matrix C are greater than 1/2 and less than 2.To the greatest extent may be used Data matrix C can be made closer to square.Because here, long string of data sequence is dispersed closer to just as much as possible In rectangular region, in subsequent extracted cell matrix, available bigger, more region square or rectangular full 0 is continuous Region, and reduce the full 0 region of strip.The sparse cell matrix of this shape obtained in this way is in subsequent coding, pressure Contracting, storage, transmission etc. can embody that data volume is smaller, calculation amount is smaller, the advantage of calculating speed faster etc..
As shown in Figure 7 B, each Elements C in the data matrix C can be madeijIt is from pending data sequence by value The subsequence that the length intercepted in order in column R is 1 obtains the matrix of the 16*16.
Fig. 8 A-8D is shown by the infrastructure elements group sequence list SQIn infrastructure elements group the predetermined order, from All infrastructure elements groups in the data matrix C for the predetermined order extract each unit matrix as cell matrix group Example.
As shown in fig. 6, the sequence order table S in the case where h=1Q: [D, C, B, A].Therefore, by the infrastructure elements group Sequence list SQInfrastructure elements group SQThe sequence of [k] extracts base from the data matrix C for first infrastructure elements group D Plinth element group sequence list SQIn infrastructure elements group D cell matrix C_SQ[k], wherein cell matrix C_SQ[k] is m*n square Battle array, and cell matrix C_SQEach Elements C _ S in [k]Q[k]ijValue rule be: if the Elements C in data matrix Cij When=D, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;Otherwise, cell matrix C_SQCorresponding element in [k] C_SQ[k]ij=0.
It then, is (2,2) from the position where D visible in Fig. 7 B, (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, where the element 1 in the cell matrix extracted for D Position be also (2,2), (2,8), (3,4), (4,13), (6,7), (7,4), (8,11), (13,3), (13,9), (14,14). And the element of remaining position is 0.
From Fig. 8 A as it can be seen that 1 number is 10, and 0 number is then 246, this is clearly a sparse matrix.
And similarly, for second infrastructure elements group C, infrastructure elements group sequence list S is extracted from the data matrix CQ In infrastructure elements group C cell matrix C_SQ[k], wherein cell matrix C_SQ[k] is m*n matrix, and cell matrix C_SQ Each Elements C _ S in [k]Q[k]ijValue rule be: if the Elements C in data matrix CijWhen=C, cell matrix C_SQ Corresponding 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 the position where C visible in Fig. 7 B and the element 1 in the cell matrix shown in Fig. 8 B for C extraction The position at place is identical.And the element of remaining position in the cell matrix extracted for C is 0.
And similarly, for third infrastructure elements group B, infrastructure elements group sequence list S is extracted from the data matrix CQ In infrastructure elements group B cell matrix C_SQ[k], wherein cell matrix C_SQ[k] is m*n matrix, and cell matrix C_SQ Each Elements C _ S in [k]Q[k]ijValue rule be: if the Elements C in data matrix CijWhen=B, cell matrix C_SQ Corresponding 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 the position where B visible in Fig. 7 B and the element 1 in the cell matrix shown in Fig. 8 C for B extraction The position at place is identical.And the element of remaining position in the cell matrix extracted for B is 0.
And similarly, for the last one infrastructure elements group A, it may not need and carry out the last one specific extraction step, and Automatically generate the last one cell matrix C_SQ[k], wherein the last one cell matrix C_SQCorresponding element C_ in [k] SQ[k]ijIn take 1 position of element to be other cell matrixs C_S in addition to having obtainedQIn [k] it is each take 1 element position Rest position, and the last one cell matrix C_SQThe element other than the element for taking 1 in [k] takes 0.Namely It says, the position shown in Fig. 8 D for the element for taking 1 in the cell matrix of infrastructure elements group A can be the figure in addition to having obtained In other cell matrixs in 8A-8C it is each take 1 element position rest position.In this way, it is convenient to omit specific to extract Step further speeds up calculating speed.
Then, from the position where A visible in Fig. 7 B and the element 1 in the cell matrix shown in Fig. 8 D for A extraction The position at place is identical.And the element of remaining position in the cell matrix extracted for A is 0.
In this way, just having obtained 4 cell matrixs for being directed to D, C, B, A respectively.Other than for the unit of B, other 3 It is all sparse matrix.As previously mentioned, sparse matrix can obtain fabulous data processing, coding, compression, storage, transmission it is equivalent Fruit.
Then, processing is over after pending data sequence R as shown in FIG. 6, can remove one section of pending data again Sequence is handled, that is, is repeated third and is obtained step 303, switch process 304 and extraction step 305.In this way, can be to all Data content to be processed is all extracted into the cell matrix group of many cell matrix compositions.It is then possible to the unit square Battle array group serially or parallelly carries out: data compression step;Data encoding operation;Data encryption operation;Data transfer operation etc..? When operating parallel to cell matrix group, these operations concurrently can be carried out to all cell matrixs, so that processing speed It further speeds up.
In one embodiment, adaptation for example based on content can be serially or parallelly carried out to the cell matrix group The data pressure of property binary arithmetic coding (Context-based Adaptive Binary Arithmetic Coding, CABAC) Contracting operation.CABAC is a kind of arithmetic coding, the basic principle is that the message of coding to be expressed as to an area between real number 0 and 1 Between, message is longer, its section of coded representation is just smaller, and binary digit needed for indicating this section is more.Due to CABAC It is a kind of common data encoding/compression algorithm, encode/compress for 0,1 data.Therefore, CABAC is applied In the cell matrix with 0,1 data that each embodiment according to the present invention obtains, these cell matrixs can be carried out into One step ground data encoding and compression, so that data volume is further reduced, so that obtaining in storage, transmission etc. operation better Effect.
Therefore, each embodiment according to the present invention can to obtain more sparse matrixes as much as possible, to be The acquisition calculation amount such as subsequent further data encoding, compression, storage is small, calculating speed is fast, compression ratio is high, encodes and compresses Many advantages, such as data volume afterwards is small, amount of storage is small.Moreover, the data-encoding scheme logarithm of each embodiment according to the present invention According to lossless process is carried out, complete initial data can be nondestructively decoded in decoding end, obtains extraordinary data decoding effect Fruit, the information without losing initial data.Therefore, application range is very extensive, and excellent.
Fig. 4 is returned to, Fig. 4 shows the example flow diagram of data decoding method according to another embodiment of the present invention.
It usually can reversibly carry out data decoding.Specifically, data decoding method 400 shown in Fig. 4 includes: the 4th to obtain Step 401 is obtained, infrastructure elements group sequence list S is obtainedQ, and the infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is Mutually different infrastructure elements group, and arrange in a predetermined order, and the infrastructure elements group sequence list SQLength be LSQ, LSQIt is Positive integer, wherein k ∈ [0, LSQ-1];5th obtains step 402, obtaining unit 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 the infrastructure elements group sequence list SQInfrastructure elements group SQThe sequence of [k], for infrastructure elements group sequence list SQEach infrastructure elements group SQ[k], as cell matrix C_SQIn [k] Elements C _ SQ[k]ijWhen=1, so that the element B of matrix Bij=SQ[k], wherein i ∈ [0, m-1], j ∈ [0, n-1];Second also Former step 405, according to the sequence of the element in matrix B, sequentially by the arrangement of elements in matrix B in the data T with To the data T of reduction.
In one embodiment, if first reduction step 404 may include: in addition to the last one unit square Other cell matrixs C_S of battle arrayQ[k] reduction has obtained matrix B, then no longer needs to carry out the last one specific first recovery step It suddenly, is automatically basic element group sequence list S by the element value of value non-in matrix BQIn in order the last one basis Element group SQ[k]。
In one embodiment, in first reduction step 404, as cell matrix C_SQElements C _ S in [k]Q [k]ijWhen=0, then it can make the element B of matrix BijFor sky or not to the element B of matrix BijValue.
This method 400 can also include: the 5th acquisition step, generation step, the first reduction step and second described in repetition Reduction step until all cell matrix groups are disposed, and gives up the element of non-value in data T to be restored Data T.
In this way, what is carried out to data due to the data-encoding scheme of each embodiment according to the present invention is lossless process, Therefore complete initial data can also be nondestructively decoded in decoding end, extraordinary data decoding effect is obtained, without losing Lose the information of initial data.Therefore, application range is very extensive, and excellent.
Certainly, above-mentioned specific embodiment is only example rather than limits, and those skilled in the art can be according to the present invention Design merge from above-mentioned each embodiment described separately and combine some steps and device to realize effect of the invention, This merging and the embodiment being composed are also included in the present invention, and do not describe this merging and combination one by one herein.
Note that the advantages of referring in the disclosure, advantage, effect etc. are only exemplary rather than limitation, it must not believe that these are excellent Point, advantage, effect etc. are that each embodiment of the invention is prerequisite.In addition, detail disclosed above merely to Exemplary effect and the effect being easy to understand, rather than limit, it is above-mentioned specific for that must use that above-mentioned details is not intended to limit the present invention Details realize.
Device involved in the disclosure, device, equipment, system block diagram only as illustrative example and be not intended to It is required that or hint must be attached in such a way that box illustrates, arrange, configure.As those skilled in the art will appreciate that , it can be connected by any way, arrange, configure these devices, device, equipment, system.Such as "include", "comprise", " tool " etc. word be open vocabulary, refer to " including but not limited to ", and can be used interchangeably with it.Vocabulary used herein above "or" and "and" refer to vocabulary "and/or", and can be used interchangeably with it, unless it is not such that context, which is explicitly indicated,.Here made Vocabulary " such as " refers to phrase " such as, but not limited to ", and can be used interchangeably with it.
Step flow chart and above method description in the disclosure only as illustrative example and are not intended to require Or imply the step of must carrying out each embodiment according to the sequence provided.It as the skilled person will recognize, can be with The sequence of the step in above embodiments is carried out in any order.Such as " thereafter ", the word of " then ", " following " etc. is not It is intended to the sequence of conditioning step;These words are only used for the description that guidance reader reads over these methods.In addition, for example using article "one", " one " or "the" be not interpreted the element being limited to odd number for any reference of the element of odd number.
In addition, the step and device in each embodiment herein are not only defined in some embodiment and carry out, thing In reality, can with concept according to the present invention come combine in each embodiment herein relevant part steps and partial devices with Conceive new embodiment, 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 and being able to carry out any means appropriate of corresponding function It carries out.The means may include various hardware and or software components and/or module, including but not limited to the circuit of hardware, dedicated Integrated circuit (ASIC) or processor.
Can use the general processor for being designed to carry out function described herein, digital signal processor (DSP), ASIC, field programmable gate array signal (FPGA) or other programmable logic device (PLD), discrete gate or transistor logics, from Scattered hardware component or any combination thereof and logical block, module and the circuit for realizing or carrying out each illustration.It is general Processor can be microprocessor, but as an alternative, the processor can be any commercially available processor, control Device, microcontroller or state machine.Processor is also implemented as calculating the combination of equipment, such as the combination of DSP and microprocessor, Multi-microprocessor, the one or more microprocessors to cooperate with DSP core or any other such configuration.
The method or the step of algorithm described in conjunction with the disclosure can be directly embedded within hardware, the software that executes of processor In module or in the combination of both.Software module can reside in any type of tangible media.It can be used Some examples of storage medium include random access memory (RAM), read-only memory (ROM), flash memory, EPROM Memory, eeprom memory, register, hard disc, removable dish, CD-ROM etc..Storage medium can be couple to processor with Just the processor can be from the read information and to the storage medium write information.In alternative, storage is situated between Matter can be whole with processor.Software module can be single instruction or many instructions, and can be distributed in several Between program on different code segments, different and across multiple storage mediums.
Method disclosed herein includes the one or more movement for realizing the method.Method and/or movement can With interchangeable with one another without departing from the scope of the claims.In other words, it unless specifying the specific order of movement, otherwise can repair Change the sequence specifically acted and/or use without departing from the scope of the claims.
The function can be realized by hardware, software, firmware or any combination thereof.If implemented in software, function It can be used as one or more instructions to be stored on practical computer-readable medium.Storage medium can be can be by computer Any available tangible media of access.By example rather than limit, such computer-readable medium may include RAM, ROM, EEPROM, CD-ROM or the storage of other optical discs, magnetic disk storage or other magnetic memory devices can be used for carrying or depositing The desired program code of storage instruction or data structure form and any other tangible media that can be accessed by computer.Such as As used herein, dish (disk) and disk (disc) include compact disk (CD), laser disk, CD, digital versatile disc (DVD), soft dish And Blu-ray disc, wherein dish usual magnetic ground reproduce data, and disk using laser optics reproduce data.
Therefore, computer program product can carry out operation given herein.For example, such computer program product can To be the computer-readable tangible medium with the instruction of tangible storage (and/or coding) on it, which can be by one Or multiple processors are executed to carry out operation described herein.Computer program product may 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 cables, optical fiber light The transmission medium of the wireless technology of cable, twisted pair, digital subscriber line (DSL) or such as infrared, radio or microwave from website, clothes Business device or other remote source softwares.
In addition, the module and/or other means appropriate for carrying out methods and techniques described herein can be appropriate When by user terminal and/or base station downloading and/or other modes obtain.For example, such equipment can be couple to server with Promote the transmission for carrying out the means of method described herein.Alternatively, various methods described herein can be via storage unit Part (such as physical storage medium of RAM, ROM, CD or soft dish etc.) provides, so that user terminal and/or base station can be It is couple to the equipment or obtains various methods when providing storage unit to the equipment.Furthermore, it is possible to utilize for will be in this institute The methods and techniques stated are supplied to any other technology appropriate of equipment.
Other examples and implementation are in the scope of the disclosure and the accompanying claims and spirit.For example, due to software Essence, functionality described above can be used by processor, hardware, firmware, hardwired or these arbitrary combination execute Software realization.Realize that the feature of function also may be physically located at each position, the part including being distributed so as to function exists Different physical locations are realized.Moreover, it is as used herein, it is included in used in claim, with "at least one" Enumerating for the instruction separation of "or" used in the enumerating of the item of beginning, enumerates meaning so as to such as " at least one of A, B or C " A or B or C or AB or AC or BC or ABC (i.e. A and B and C).In addition, wording " exemplary " does not mean that the example of description is It is preferred or more preferable than other examples.
The technology instructed defined by the appended claims can not departed from and carried out to the various of technology described herein Change, replace and changes.In addition, the scope of the claims of the disclosure is not limited to process described above, machine, manufacture, thing Composition, means, method and the specific aspect of movement of part.Can use carried out to corresponding aspect described herein it is essentially identical Function or realize essentially identical result there is currently or later to be developed processing, machine, manufacture, event group At, means, method or movement.Thus, appended claims include such processing, machine, manufacture, event within its scope Composition, means, method or movement.
The above description of disclosed aspect is provided so that any person skilled in the art can make or use this Invention.Various modifications in terms of these are readily apparent to those skilled in the art, and are defined herein General Principle can be applied to other aspect without departing from the scope of the present invention.Therefore, the present invention is not intended to be limited to Aspect shown in this, but according to principle disclosed herein and the consistent widest range of novel feature.
In order to which purpose of illustration and description has been presented for above description.In addition, this description is not intended to reality of the invention It applies example and is restricted to form disclosed herein.Although already discussed above multiple exemplary aspects and embodiment, this field skill Its certain modifications, modification, change, addition and sub-portfolio will be recognized in art personnel.

Claims (20)

1. a kind of data-encoding scheme, comprising:
First obtains step, infrastructure elements set P is obtained, wherein the infrastructure elements set P includes multiple infrastructure elements;
Second obtains step, obtains infrastructure elements group set Q and infrastructure elements group sequence list SQ, wherein the infrastructure elements group collection The infrastructure elements group for the first predefined size that the infrastructure elements group in Q is made of the infrastructure elements in infrastructure elements set P is closed, The infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and is arranged in a predetermined order Column, and the infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein k ∈ [0, LSQ-1];
Third obtains step, obtains pending data R;
The pending data R is converted to the data matrix C of m*n by switch process, and wherein m and n is positive integer, the data Each Elements C in Matrix CijIt is the data group of the first predefined size intercepted in order from pending data R by value, Middle i and j is greater than or equal to 0 integer, i ∈ [0, m-1], j ∈ [0, n-1], Cij∈Q;
Extraction step, by the infrastructure elements group sequence list SQIn infrastructure elements group the predetermined order, from the data square All infrastructure elements groups in battle array C for the predetermined order extract each unit matrix as cell matrix group;
Wherein, the extraction step includes:
By the infrastructure elements group sequence list SQInfrastructure elements group SQThe sequence of [k], for each infrastructure elements group SQ[k], from Infrastructure elements group sequence list S is extracted in the data matrix CQIn infrastructure elements group SQThe cell matrix C_S of [k]Q[k], In, 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=SQWhen [k], cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;It is no Then, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=0.
2. according to the method described in claim 1, wherein, it is described extracted from the data matrix C for it is described make a reservation for it is suitable The cell matrix of the infrastructure elements group of sequence is sparse matrix.
3. according to the method described in claim 1, being L when pending data R is lengthRPending data sequence, first predetermined When the infrastructure elements group of size is the infrastructure elements sequence of length h, wherein h and LRIt is positive integer, the switch process includes:
So that each Elements C in the data matrix CijIt is the length intercepted in order from pending data sequence R by value Spend the subsequence for being h, and LR≤m×n×h。
4. method according to claim 1 or 3, wherein the switch process includes:
According to the requirement to data processing, the size of data R to be processed every time is adaptive selected, with the determination data square The size of the m and n of battle array C.
5. method according to claim 1 or 3, wherein the ratio of the m and n of the data matrix C are greater than 1/2 and are less than 2。
6. according to the method described in claim 3, wherein, the switch process includes:
The size of the m and n of the data matrix C are determined, so that m × n × h value and LRDifference it is minimum.
7. method according to claim 1 or 3, wherein the switch process includes:
Elements C in data matrix CijIt is in the first predefined size intercepted in order from pending data R by value After data group,
By remaining not by the Elements C of valueijValue is empty or make an exception data or the smallest infrastructure elements group S of probability of occurrenceQ [k], the exception data and each infrastructure elements group SQ[k] is all different.
8. method according to claim 1 or 3, wherein the extraction step includes:
If extraction has obtained other cell matrixs C_S in addition to the last one cell matrixQ[k], then without carrying out the last one Specific extraction step, and automatically generate the last one cell matrix C_SQ[LSQ- 1], wherein the last one described cell matrix C_SQ[LSQ- 1] the corresponding element C_S inQ[LSQ-1]ijIn take 1 position of element to be other cell matrixs in addition to having obtained C_SQIn [k] it is each take 1 element position rest position, and the last one cell matrix C_SQ[LSQRemoving in -1] The element other than 1 element is taken to take 0.
9. method according to claim 1 or 3, wherein as h=1, the infrastructure elements group set Q and the basis Element set P is identical.
10. method according to claim 1 or 3, wherein the infrastructure elements group in the infrastructure elements group set Q be by All different permutation and combination for the first predefined size that all infrastructure elements in infrastructure elements set P can make up.
11. method according to claim 1 or 3, wherein described in the infrastructure elements group sequence list SQIn basis member Element group SQThe sequence of [k] includes:
By infrastructure elements group SQThe sequence that the probability of occurrence of [k] arranges from small to large.
12. according to the method described in claim 1, wherein, the infrastructure elements group of first predefined size is by infrastructure elements The sequence of composition;
Wherein, first predefined size is greater than the size of infrastructure elements,
Wherein, the pending data R is data sequence.
13. according to the method described in claim 1, further include:
It repeats the third and obtains step, switch process and extraction step.
14. according to the method described in claim 1, further include:
At least one of the cell matrix group is serially or parallelly proceeded as follows: data compression step;Data are compiled Code operation;Data encryption operation;Data transfer operation.
15. a kind of data encording system, comprising:
Memory, for storing one or more computer executable instructions;
Processor runs the one or more of computer executable instructions read from the memory to be walked as follows It is rapid:
First obtains step, infrastructure elements set P is obtained, wherein the infrastructure elements set P includes multiple infrastructure elements;
Second obtains step, obtains infrastructure elements group set Q and infrastructure elements group sequence list SQ, wherein the infrastructure elements group collection The infrastructure elements group for the first predefined size that the infrastructure elements group in Q is made of the infrastructure elements in infrastructure elements set P is closed, The infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and is arranged in a predetermined order Column, and the infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein k ∈ [0, LSQ-1];
Third obtains step, obtains pending data R;
The pending data R is converted to the data matrix C of m*n by switch process, and wherein m and n is positive integer, the data Each Elements C in Matrix CijIt is the data group of the first predefined size intercepted in order from pending data R by value, Middle i and j is greater than or equal to 0 integer, i ∈ [0, m-1], j ∈ [0, n-1], Cij∈Q;
Extraction step, by the infrastructure elements group sequence list SQIn infrastructure elements group the predetermined order, from the data square All infrastructure elements groups in battle array C for the predetermined order extract each unit matrix as cell matrix group;
Wherein, the extraction step includes:
By the infrastructure elements group sequence list SQInfrastructure elements group SQThe sequence of [k], for each infrastructure elements group SQ[k], from Infrastructure elements group sequence list S is extracted in the data matrix CQIn infrastructure elements group SQThe cell matrix C_S of [k]Q[k], In, 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=SQWhen [k], cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=1;It is no Then, cell matrix C_SQCorresponding element C_S in [k]Q[k]ij=0.
16. a kind of data decoding method, comprising:
4th obtains step, obtains infrastructure elements group sequence list SQ, and the infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and is arranged in a predetermined order, and the infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein k ∈ [0, LSQ-1];
5th obtains step, obtaining unit matrix group C_SQ, cell matrix group C_SQIn each cell matrix C_SQ[k] is m*n Matrix;
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 the infrastructure elements group sequence list SQInfrastructure elements group SQThe sequence of [k], for infrastructure elements group sequence list SQEach infrastructure elements group SQ[k], as cell matrix C_SQIn [k] Elements C _ SQ[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 sequence of the element in matrix B, sequentially by the arrangement of elements in matrix B in the data T In data T to be restored.
17. according to the method for claim 16, wherein first reduction step includes:
If for other cell matrixs C_S in addition to the last one cell matrixQ[k] reduction has obtained matrix B, then no longer needs to The last one specific first reduction step is carried out, and is automatically that basic element group is suitable by the element value of value non-in matrix B Sequence table SQIn the last one infrastructure elements group S in orderQ[LSQ-1]。
18. according to the method for claim 16, wherein in first reduction step, as cell matrix C_SQIn [k] Elements C _ SQ[k]ijWhen=0, then make the element B of matrix BijFor sky or not to the element B of matrix BijValue.
19. according to the method for claim 16, further includes:
It repeats the described 5th and obtains step, generation step, the first reduction step and the second reduction step, until all unit squares Battle array group is disposed, and gives up data T of the element of non-value in data T to be restored.
20. a kind of data decoding system, comprising:
Memory, for storing one or more computer executable instructions;
Processor runs the one or more of computer executable instructions read from the memory to be walked as follows It is rapid:
4th obtains step, obtains infrastructure elements group sequence list SQ, and the infrastructure elements group sequence list SQIn infrastructure elements group SQ[k] is mutually different infrastructure elements group, and is arranged in a predetermined order, and the infrastructure elements group sequence list SQLength be LSQ, LSQIt is positive integer, wherein k ∈ [0, LSQ-1];
5th obtains step, obtaining unit matrix group C_SQ, cell matrix group C_SQIn each cell matrix C_SQ[k] is m*n Matrix;
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 the infrastructure elements group sequence list SQInfrastructure elements group SQThe sequence of [k], for infrastructure elements group sequence list SQEach infrastructure elements group SQ[k], as cell matrix C_SQIn [k] Elements C _ SQ[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 sequence of the element in matrix B, sequentially by the arrangement of elements in matrix B in the data T In data T to be restored.
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 CN105791832A (en) 2016-07-20
CN105791832B true 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)

Families Citing this family (4)

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

Citations (2)

* 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

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160004715A1 (en) * 2014-07-02 2016-01-07 International Business Machines Corporation Minimizing Metadata Representation In A Compressed Storage System
US9934234B2 (en) * 2014-08-12 2018-04-03 Tidal Systems, Inc. Adaptive rate compression hash processor

Patent Citations (2)

* 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

Also Published As

Publication number Publication date
CN105791832A (en) 2016-07-20

Similar Documents

Publication Publication Date Title
CN108882020B (en) Video information processing method, device and system
US9298722B2 (en) Optimal sequential (de)compression of digital data
US9454552B2 (en) Entropy coding and decoding using polar codes
CN105791832B (en) Data-encoding scheme and data decoding method and its system
CN107395209B (en) Data compression method, data decompression method and equipment thereof
CN110520909A (en) The neural network processor of bandwidth of memory utilization rate is reduced using the compression and decompression of activation data
CN107682016B (en) Data compression method, data decompression method and related system
US20230041067A1 (en) Systems and methods of data compression
CN110021369B (en) Gene sequencing data compression and decompression method, system and computer readable medium
Yerva et al. Lossless image compression based on data folding
US9591334B2 (en) Common copy compression
EP2863566A1 (en) Method and apparatus for reconstructing a data block
US9100042B2 (en) High throughput decoding of variable length data symbols
JP6647340B2 (en) Improved file compression and encryption
CN104125475A (en) Multi-dimensional quantum data compressing and uncompressing method and apparatus
CN117177100B (en) Intelligent AR polarized data transmission method
WO2020186535A1 (en) Point cloud attribute encoding method and device, and point cloud attribute decoding method and device
CN115499635A (en) Data compression processing method and device
GB2527099A (en) Apparatus and method for data compression
Abdollahi et al. Lossless image compression using list update algorithms
Malaguti et al. Toward compressed 3D descriptors
CN106663328A (en) Extension of the mpeg/sc3dmc standard to polygon meshes
Chang et al. Very efficient variable-length codes for the lossless compression of VQ indices
US20180145701A1 (en) Sonic Boom: System For Reducing The Digital Footprint Of Data Streams Through Lossless Scalable Binary Substitution
Takafuji et al. GPU implementations of deflate encoding and decoding

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