CN105409129B - Encoder device, decoder apparatus and method - Google Patents
Encoder device, decoder apparatus and method Download PDFInfo
- Publication number
- CN105409129B CN105409129B CN201480024696.XA CN201480024696A CN105409129B CN 105409129 B CN105409129 B CN 105409129B CN 201480024696 A CN201480024696 A CN 201480024696A CN 105409129 B CN105409129 B CN 105409129B
- Authority
- CN
- China
- Prior art keywords
- data
- symbol
- continuum
- value
- processing equipment
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3068—Precoding preceding compression, e.g. Burrows-Wheeler transformation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/85—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using pre-processing or post-processing specially adapted for video compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/46—Conversion to or from run-length codes, i.e. by representing the number of consecutive digits, or groups of digits, of the same kind by a code word and a digit indicative of that kind
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/04—Protocols for data compression, e.g. ROHC
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/90—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
- H04N19/93—Run-length coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
Provide a kind of encoder (10), for encoding the data (D1) provided to the encoder (10) to generate corresponding encoded data (D2), wherein encoder (10) includes data processing equipment (20), for one or more cataloged procedures to be applied to data (D1) to generate coded data (D2).Data processing equipment (20) can be used to, if the data (D1) are indicated with numerical symbol, at least partly with the set expression of the numerical symbol data (D1).Data processing equipment (20) can be used to generate intermediate data (40), numerical symbol is wherein indicated with original value, at least one symbol is indicated with correction value, the correction value has the one or more continuum symbols generated by continuum arithmetic unit, and wherein the value of symbol of one or more continuum symbol amendment front is to adapt to escape character range.Data processing equipment (20) can be used to processing middle data (40) to generate coded data (D2).Provide a kind of decoder (50), for decoding the coded data (D2) provided to the decoder (50) to generate corresponding decoding data (D3), wherein decoder (50) includes data processing equipment (60), for one or more decoding process to be applied to coded data (D2) to generate decoding data (D3).Data processing equipment (60) can be used to processing coded data (D2) to generate intermediate data (40).Data processing equipment (60) can be used to processing middle data (40) with decoding intermediate data, wherein in intermediate data, numerical symbol is indicated by output symbol and at least by an amendment output symbol, the amendment output symbol has one or more continuum symbols, the one or more continuum symbol is then decoded by inverse continuum arithmetic unit, wherein one or more of continuum symbols correct the value of the amendment output symbol to adapt to escape character range.Data processing equipment (60) can be used to transformation and/or conversion process after intermediate data to indicate decoding data (D3) by assemble of symbol.The encoder (10) and decoder (50) are collectively referred to as codec (100), and can be used to processing indicates the data of following items:Audio signal, capture vision signal, capture image, text data, seismic data, sensor signal, modulus (ADC) change data, biological signal data, calendar data, economic data, mathematical data, binary data are captured, but codec (100) accessible data are without being limited thereto.
Description
Technical field
This disclosure relates to for being encoded to the data received to generate the encoder device of corresponding encoded data.This
Outside, present disclosure also relates to for data to be encoded with the method to generate corresponding encoded data.In addition, this disclosure relates to being used for
The coded data received is decoded to generate the decoder apparatus of corresponding decoding data.In addition, this disclosure relates to being used for
The method to generate corresponding decoding data is decoded to coded data.Present disclosure also relates to include one or more above-mentioned codings
The combined codec of device equipment and one or more above-mentioned decoder apparatus.In addition, this disclosure relates to being recorded in non-transient
Software product in (non-instantaneous) machine-readable data storage media, wherein the software product can execute in computing hardware to hold
The row above method.The disclosure of UK Patent Application GB1303658.7 is incorporated herein by being cited in full text.
Background technique
In general, current data communication network and data processing equipment needs handle more and more a large amount of data.This
Kind data processing correspondingly needs bigger data communication bandwidth and/or bigger data storage capacity.Such bandwidth is provided
And/or the cost of memory capacity is very high.Therefore, carrying out compression to data when carrying out data communication and/or storage will tool
There is considerable benefit.
Currently, information is typically expressed as the form of data, such as audio, image, video, chart, ECG, seismic data, survey
Measure data, number, Excel list, character, text, news, ascii character, Unicode character, binary data, advertisement, more
Dimension data etc..In addition, these data can be expressed as different-format, such as bit, byte, word, character, number, picture, etc.
Deng.Furthermore, it is possible to be encoded using a variety of different coding methods developed between recent decades to current information.Institute as above
It states, the storage and/or transmission of information are usually necessary, and are as a small amount of (for example, just with bit as possible by information representation therefore
For the size of data of unit) coded data (for example, entropy coding data and additional information) will be beneficial.
When considering data-encoding scheme, every information is considered as an element or symbol is very easily.By a plurality of letter
Breath is expressed as element or symbol in this way to be allowed for example to come using Shannon entropy calculation method (document that sees reference [2], [3] and [4])
Calculate the entropy of information.Can a variety of algorithms of different (such as entropy coding algorithm and/or entropy amendment (entropy modifynig)
Algorithm) before or after, it is indicated for a variety of distinct symbols to execute this calculating.It is, for example, possible to use a variety of entropy coding sides
Method to carry out entropy coding to single symbol.Further, it is also possible to symbol is converted to another form from a kind of form, for example, number
Word can be converted to text, and text can be converted to word, and bit can be converted to byte.
The example of single symbol include for example bit value (1,6,8,10 ... bit), byte value (8 bit), word value
(16,32,64,128 ... bit), (ASCII, Unicode, Chinese, Arab ...) character, binary digit tagging (with
2 be base), octal system (with 8 for base) label, the decimal system (with 10 for base) label, hexadecimal (with 16 for base) label or Rome
Numeral mark.Optionally, numerical chracter can have decimal point, i.e. score or real number value, or have non-decimal form (natural number
Or integer value).Optionally, in addition, symbol may include picture, data or database element, etc..In addition, number and character
It is also denoted as the symbol based on individual digit or character (such as ASCII), or is expressed as the multiple of such as numerical value, word or sentence
The combination of ASCII symbol.
As described above, symbol indicates the calculating for allowing the entropy of execution information.Furthermore, it is possible to be indicated by using distinct symbols
The entropy of same given information is calculated, to generate different entropys as a result, for example, indicating information using distinct symbols set
It may make the information indicated by symbols one or more in set that there is different entropys.Moreover, as needed, distinct symbols
Entropy coding can be widely different.Some expressions of above- mentioned information be suitable for being coded by entropy for it is very close they ideal entropy (such as
The entropy obtained using arithmetic encoder or run-length encoding device), and some expressions then need more additional informations to realize success
Entropy coding, such as the case where word or encountered database element.
Additional information needs above-mentioned are transmitted to corresponding decoder from given encoder in a manner of such or is such,
Enable to realize unique decoding of coded data.In addition, when some additional informations are in given encoder and given decoder
When place is known, this is also beneficial, in this way, these information are just completely without transmitting, or for example by using identifying one
Or multiple tables one or more indexes and transmitted with the format of very little.
In other words, in the data compression degree side that coded data is realized in such a way that corresponding encoded data transmit above- mentioned information
The difference in face is very big, and possible alternative solution is, for example, by entire raw information itself in the form of original symbol, with compression
The symbol of form selects the form of index to send with available information substitution.In addition, the information being entirely passed or its portion
Dividing can be reused, this is also that compression information, corresponding data or corresponding encoded data create plurality of optional to a greater extent
?.
Particularly, usually not alternative when transmitting the information when the original data volume for indicating information increases
Suitable static table or database.It is right but after transmitting one or more tables in association with the transmission of the information of coding form
For such as coding method is with reference to the other information of the table transmitted later, it is possible to which there are some reusable tables.
It is further appreciated that the information to be compressed may be a part of larger imformosome, for example, an information may be all or part of
The analysis results of data, method parameter of one or more data blocks, etc., for example, the level of multi-stage process, database reference,
A part (such as ROI, frame piece, image of video) of initial data.
When mass data to be transmitted, the entropy of data occupies the most of data volume to be transmitted.Similarly, when only transmitting
When small number of data, additional information usually largely becomes the major part for being passed data, in other words, adds
Information may occupy considerable accessing cost for data.Therefore, it is necessary to optimize to minimize the summation of entropy coding data and additional data, such as
It is very outstanding optimization work according to the continuum arithmetic unit (Continuum Operator) of the disclosure as illustrated by lower
Tool.
There is currently a variety of different data compression methods can be used for compressed data.Some compression methods are to be exclusively used in
Particular kind of data, such as JPEG/PNG is for compressing image, AAC/MP3 for compressing audio, PNG/GIF for compressing
Chart, HEVC/VP9 are for compressing video, etc..Certain methods are more compromised, such as BZip, 7Zip, RLE, SRLE, VLC, row
Journey coding, arithmetic coding etc..In addition, there are also certain methods can be used for correcting bit data entropy (such as:UK Patent Application
The method used in the entropy corrector (EM) described in GB1303658.7), and there are also certain methods can correct not with
The entropy for the symbol data that each bit indicates, such as DPCM, Delta described in UK Patent Application GB1303661.1
Coding and ODelta coding, and the RLE described in UK Patent Application GB1303660.3 and SRLE.Although bibliography
[2], Shannon entropy described in [3] and [4] is well known, but its not in current compression method by extensively suitably
It uses.Following equation 1 can be used to calculate Shannon entropy:
Formula 1
Wherein:
N is the quantity of distinct symbols;And
p(xi) it is by the probability of the symbol of i index.
Usually by entropy multiplied by the quantity of all symbols so that the entropy that is calculated with other of its value is more added with comparativity.?
It can be by the way that this be changed this divided by value log (2) than entropy than entropy, to estimate used bit.
Unlike entropy, usually utilization rate distortion (RD) optimizes to select optimal compression method or side in lossy coding
Method combination.In lossless coding, entropy itself can be used for selection method or algorithm, because optimizing institute without RD in lossless coding
Based on distortion expectancy rate itself is only convenient to by entropy therefore together with additional information.
The intertexture of data corresponding with above- mentioned information is also known art methods.For example, in given image such as
Be expressed as described in bibliography [11] RGB pixel color value can be expressed as plane form (RRRR..., GGGG...,
) or intertexture form (RGB, RGB, RGB, RGB ...) BBBB....
In UK Patent Application GB2301252 (document that sees reference [10]), describes and compare present in a kind of pair of data
The known method that spy is encoded.The known method uses multiple and different length remainder symbols, but in a manner of strict difinition
One by one using multiple different remaining symbols, they indicate different bit dynamics, and the known method is only applicable to bit
Symbol.But it individually or with known combination is not enough to solve related with data compression three masters using any known method
Want any one of problem.All above methods and combinations thereof all have disadvantages that.
When to information coding (such as compression), there are three main problems:
1) first problem is related to the selection mode of the most appropriate form of symbol to be used when compressing information;
2) Second Problem is related to most effectively reducing the mode of similarity sign in result;And
3) third problem is related to most effectively reducing the size of data of coded data and additional information (such as by its minimum
Change) but still make it possible to the mode that (such as when decompressing in a decoder) decodes unique data.
Summary of the invention
The disclosure is intended to provide the improved method encoded the data of expression information to generate corresponding encoded data.
The data of expression information are encoded to generate the improvement of corresponding encoded data in addition, the disclosure is also intended to provide
Encoder.
In addition, the disclosure is intended to provide to for example being solved by the coded data that above-mentioned improved data-encoding scheme generates
The improved method of code.
In addition, the disclosure is intended to provide to for example being changed by what the coded data that above-mentioned improved encoder generates was decoded
Into decoder.
According in a first aspect, a kind of encoder is provided, for encoding the data (D1) provided to the encoder to produce
Raw corresponding encoded data (D2), wherein encoder includes data processing equipment (20), for answering one or more cataloged procedures
For data (D1) to generate coded data (D2), it is characterised in that:
(a) data processing equipment (20) can be used to, if the data (D1) be not indicated with numerical symbol, until
Partially with the set expression of the numerical symbol data (D1);
(b) data processing equipment (20) can be used to generate intermediate data (40), wherein indicating that numerical value accords with original value
Number, at least one symbol is indicated with correction value, which has the one or more continuums generated by continuum arithmetic unit
Symbol, wherein the value of symbol of one or more continuum symbol amendment front is to adapt to escape character range;And
(c) data processing equipment (20) can be used to processing middle data (40) to generate coded data (D2).
Advantage of the invention include encoder addition one or more continuum symbols combination be capable of providing compared to
The data to be encoded (D1) have the coded data (D2) of higher data compression degree.
Optionally, in the encoder, data processing equipment can be used to based on calculated symbol in multiple portions or
Data (D1) are divided into the multiple part or segment by probability of occurrence and its compression efficiency in segment.
Optionally, in the encoder, intermediate data (40) are generated using continuum arithmetic unit, to pass through one or more changes
It changes method and/or converts the symbol in data (D1) by one or more conversion tables (LUT).Optionally, in the encoder,
Coded data (D2) is provided by multiple data flows, the transmitting of wherein at least one stream indicates one or more of conversion tables
(LUT) and/or the information of one or more transform methods.Optionally, in the encoder, one or more of conversion tables are indicated
(LUT) information reference transmitting coded data (D2) front transfer one or more conversion tables (LUT) and/or can be from volume
The alternate source of code device obtains indicating the information of one or more of conversion tables (LUT).
Optionally, the data (D1) that encoder can be used to processing include at least one of the following:Capture audio letter
Number, capture vision signal, capture image, text data, seismic data, sensor signal, modulus (ADC) change data, biology
Signal data, calendar data, economic data, mathematical data, binary data.
Optionally, in the encoder, data processing equipment can be used to by using at least one of the following centering
Between data (40) coding to generate coded data (D2):Entropy amendment, entropy amendment (EM) coding, ODelta coding, RLE, SRLE, calculation
Art coding, run-length encoding, VLC.
According to second aspect, a kind of method in encoder is provided, which is used for providing to the encoder
Data (D1) are encoded to generate corresponding encoded data (D2), and wherein encoder includes data processing equipment, for by one or more
A cataloged procedure is applied to data (D1) to generate coded data (D2), which is characterized in that this method includes:
(a) use data processing equipment (20) in the case where the data (D1) are indicated with numerical symbol, at least portion
Divide ground with the set expression of the numerical symbol data (D1);
(b) intermediate data (40) are generated using data processing equipment (20), wherein numerical symbol is indicated with original value, to repair
Positive value indicates that at least one symbol, the correction value have the one or more continuum symbols generated by continuum arithmetic unit,
In the one or more continuum symbol amendment front value of symbol to adapt to escape character range;And
(c) using data processing equipment (20) processing middle data (40) to generate coded data (D2).
Optionally, this method include using data processing equipment based on calculated symbol in multiple portions or segment
Data (D1) are divided into the multiple part or segment by probability of occurrence and its compression efficiency.
Optionally, this method includes generating intermediate data using continuum arithmetic unit for the symbol in data (D1)
(40), the intermediate data be by limited by one or more conversion tables (LUT) and/or one or more transform methods one
Secondary or multiple transformation and/or conversion, convert the symbol and are generated.Optionally, this method includes passing through multiple data
Stream provides coded data (D2), the transmitting of wherein at least one stream indicate one or more of conversion tables (LUT) and/or it is a kind of or
The information of a variety of transform methods.Optionally, in the method, the information reference of one or more of conversion tables (LUT) is indicated
It is transmitting one or more conversion tables (LUT) of the front transfer of coded data (D2) and/or can obtained from the alternate source of encoder
To the information for indicating one or more of conversion tables (LUT).
Optionally, it includes at least one of the following that this method, which includes using the data (D1) of coder processes,:Capture sound
Frequency signal, capture vision signal, capture image, text data, seismic data, sensor signal, modulus (ADC) change data,
Biological signal data, calendar data, economic data, mathematical data, binary data.
Optionally, this method includes being compiled by using at least one of the following to intermediate data using data processing equipment
Code is to generate coded data (D2):Entropy amendment, entropy correct (EM) coding, ODelta coding, RLE, SRLE, arithmetic coding, stroke
Coding, VLC.
Optionally, one or more software products of the usage record in non-transient machine-readable data storage media come real
Existing this method, wherein one or more of software products can execute on the data processing equipment of encoder, with realization pair
The method that data (D1) are encoded to generate coded data (D2).
According to the third aspect, a kind of decoder is provided, for decoding to the coded data (D2) provided to the decoder
To generate corresponding decoding data (D3), wherein decoder includes data processing equipment, for answering one or more decoding process
For coded data (D2) to generate decoding data (D3), it is characterised in that:
(a) data processing equipment (60) can be used to processing coded data (D2) to generate intermediate data (40);
(b) data processing equipment (60) can be used to processing middle data (40) with decoding intermediate data, wherein in
Between in data, numerical symbol is indicated by output symbol and at least by an amendment output symbol, which has one
A or multiple continuum symbols, which is then decoded by inverse continuum arithmetic unit, wherein described one
A or multiple continuum symbols correct the value of the amendment output symbol to adapt to escape character range;And
(c) data processing equipment (60) can be used to transformation and/or conversion process after intermediate data to pass through symbol
Set is to indicate decoding data (D3).
Optionally, in a decoder, data processing equipment can be used to based on calculated symbol in multiple portions or
Probability of occurrence and its compression efficiency in segment handle coded data (D2) as the multiple part or segment.
Optionally, in a decoder, by by one or more conversion tables (LUT) and/or one or more transform methods
The one or many transformation limited are converted and/or are converted to the value in decoding data (D3), to realize continuum arithmetic unit
Generate assemble of symbol.
Optionally, in a decoder, which is characterized in that provide coded data (D2) by multiple data flows, wherein at least
One stream transmitting indicates the information of one or more of conversion tables (LUT) and/or one or more transform methods.Optionally,
In a decoder, front transfer of the information reference in transmitting coded data (D2) of one or more of conversion tables (LUT) is indicated
One or more conversion tables (LUT) and/or can obtain indicating one or more of turns from the alternate source of decoder (50)
Change the information of table (LUT).
Optionally, decoder can be used to the coding version that the coded data (D2) of processing includes at least one of the following
This:Capture audio signal, capture vision signal, capture image, text data, seismic data, sensor signal, modulus (ADC)
Change data, biological signal data, calendar data, economic data, mathematical data, binary data.
Optionally, in a decoder, data processing equipment can be used to by using the inverse of at least one of the following
Operation decodes to generate intermediate data coded data (D2):Entropy amendment, entropy amendment (EM) coding, ODelta coding, RLE,
SRLE, arithmetic coding, run-length encoding, VLC.
According to fourth aspect, provide it is a kind of using decoder to coded data (D2) decoding provided to the decoder with
The method for generating corresponding decoding data (D3), wherein decoder includes data processing equipment (60), for solving one or more
Code process is applied to coded data (D2) to generate decoding data (D3), which is characterized in that this method includes:
(a) using data processing equipment (60) processing coded data (D2) to generate intermediate data (40);
(b) using data processing equipment (60) processing middle data (40) with decoding intermediate data, wherein in intermediate data
In, numerical symbol is indicated by output symbol and at least by an amendment output symbol, which has one or more
A continuum symbol, which is then decoded by inverse continuum arithmetic unit, wherein one or more
A continuum symbol corrects the value of the amendment output symbol to adapt to escape character range;And
(c) converted using data processing equipment (60) and/or conversion process after intermediate data to pass through assemble of symbol
To indicate decoding data (D3).
Optionally, this method include using data processing equipment based on calculated symbol in multiple portions or segment
Probability of occurrence and its compression efficiency handle coded data (D2) as the multiple part or segment.
Optionally, this method includes that assemble of symbol is generated using continuum arithmetic unit, the symbol also by by one or
One or many transformation that multiple conversion tables (LUT) and/or one or more transform methods limit from decoding data (D3) and by
Transformation and/or conversion.Optionally, this method includes providing coded data (D2) by multiple data flows, wherein at least one stream
Transmitting indicates the information of one or more of conversion tables (LUT) and/or one or more transform methods.Optionally, in the party
In method, one of the front transfer of the information references of one or more of conversion tables (LUT) in transmitting coded data (D2) is indicated
Or it multiple conversion tables (LUT) and/or can obtain indicating one or more of conversion tables (LUT) from the alternate source of decoder
Information.
Optionally, the coded number of the version of code of this method to include using decoder processes include at least one of the following
According to (D2):Capture audio signal, capture vision signal, capture image, text data, seismic data, sensor signal, modulus
(ADC) change data, biological signal data, calendar data, economic data, mathematical data, binary data.
Optionally, this method includes by using the inverse operation of at least one of the following using data processing equipment to volume
Code data (D2) are decoded to generate intermediate data (40):Entropy amendment, entropy amendment (EM) coding, ODelta coding, RLE, SRLE, calculation
Art coding, run-length encoding, VLC.
Optionally, one or more software products of the usage record in non-transient machine-readable data storage media come real
Existing this method, wherein one or more of software products can execute on the data processing equipment of decoder, with realization pair
The method that coded data (D2) is decoded to generate decoding data (D3).
A kind of codec is provided according to the 5th aspect, including at least one according to the encoder of first aspect and at least
The combination of one decoder according to the third aspect is compiled wherein at least one described decoder can be used to decoding by encoder
The data of code.
A kind of electronic equipment is provided according to the 6th aspect, including at least one according to the encoder of first aspect and at least
One decoder according to the third aspect, wherein the electronic equipment is embodied as at least one of following a part:Individual calculus
Machine, audio/video devices, television set, wireless computer device, smart phone, mobile phone, interactive game operation bench, automobile electricity
Sub-information system.
The embodiment of the present invention is valuably using the multiple element and operation combined.The multiple element includes example
Such as:
(i) for entropy calculate one or more elements, such as calculate Shannon entropy and using Shannon entropy into
Row algorithms selection and processing accelerate purpose;
(ii) the one or more elements converted to symbol for symbol, for example, for composite symbol, segmentation symbol, will compare
Spy is converted to byte, is bit by byte conversion, provides 2 bit symbols to 6 bit symbols or 6 bit symbols to 2 bit symbols
Conversion, character is converted into word, word is converted to character/sentence, number/character is converted to value or by value be converted to number/
Character;
(iii) for transmitting one or more elements of additional information, for example selected coding method of the additional information is used
In limit method parameter, for provide code table, for provide look-up table, for provide and/or referred database;And
(iv) one or more elements for entropy amendment (EM) coding are encoded for Delta (referring to bibliography
[8]), for ODelta coding, for RLE, for SRLE (document that sees reference [9]), for UK patent application GB2301252
Method described in (document that sees reference [10], be incorporated herein by reference), and for entropy coding (such as arithmetic coding,
Run-length encoding or VLC, RLE, SRLE).
Therefore, embodiment of the disclosure uses improved symbol data decoding method.The improved method can be direct
It is used for a bit data symbol or after transforming to compared with high dynamic symbol, is also used to that there are the original data compared with high dynamic
Symbol.It also discloses and is calculated by using entropy and additional information selection is directly effectively performed in different coding method
Method.In addition, in the disclosure, describing algorithm, the best entropy modification method of the optimal symbol format to be used for identification
With the optimal shape that is appropriately combined, and most effectively using the combination to carry out data compression and decompression of forced coding method
Formula.
In addition, embodiment of the disclosure valuably uses continuum arithmetic unit, i.e. digital symbol values (data) range is corrected
The new model of device, while table or sign bit counting reducer are used, entropy coding data and additional letter can be greatly reduced
The sum of breath.In addition, present disclose provides the new methods to bit and symbol data coding and decoding.
It is appreciated that feature of the invention is easy in the case where not departing from the scope of the invention defined in the appended claims
Diversified forms are combined into group.
Detailed description of the invention
Referring now to the following drawings, example is only described implementation of the disclosure by example, in the accompanying drawings:
Fig. 1 is (collectively referred to as to compile solution with the encoder and decoder of correspondingly decoding data for encoding according to the disclosure
Code device) schematic diagram.
In the accompanying drawings, the number with underscore project or the band disposed thereon are indicated using the number with underscore
The number of underscore project adjacent thereto.Without the digital of underscore and by that will be somebody's turn to do without the number of underscore and a project
The project that connected line is identified is associated.When a number is without underscore and is accompanied by associated arrow, use
The number without underscore identifies general data pointed by the arrow.
Specific embodiment
On the whole, this disclosure relates to the improved method of compressed data and correspondingly decompress data improved method, this
A little improved methods are subject to area to the use of data area (data range) corrector (i.e. continuum arithmetic unit) by them
Point.In addition, the data compression and decompression method be combined with a variety of different bits or symbol corrector, different entropy correctors and
Entropy coder, to carry out compression and decompression to the raw information for being represented by different types of bit or symbol data.In addition,
The compression and decompression method will such as Split Run Length coding (SRLE) (document that sees reference [1], [9] and [10]) and
The characteristic of entropy corrector (document that sees reference [13]) and at least one above-mentioned advanced continuum arithmetic unit combines.This at least one
A continuum arithmetic unit includes at least one continuum value (continuum value), has positive or negative continuum, will give
Original figure value of symbol is modified to corresponding amendment value of symbol.For original or at least one of symbol has been corrected, at least one
It is secondary to use the amendment symbol for being continuum value creation.The continuum value is previously known, or from having applied or do not answered
It is individually obtained with the real data of entropy coding coding.Used continuum value symbol is included in original or amendment symbol data
In, they application or not application any entropy coder in the case where be encoded, i.e., with the modified symbolic number of continuum arithmetic unit
Original or amendment symbol data in is similar.
It still can use the symbol stream that known entropy coding method generates continuum arithmetic unit later to compress, such as join
See reference in document [2], [3] and [4] for example arithmetic coding (document that sees reference [5]), run-length encoding (document that sees reference [6]),
Or Variable Length coding (VLC) (document that sees reference [7]) and known entropy corrector such as ODelta coding are (see ginseng
Examine document [8] and [14]) or entropy corrector (EM) (document that sees reference [13]).Any preceding method can also be passed through in advance, also
The data of the compression method compression of the disclosure to be used can be modified by using other methods or deformation.It can be by using
The entropy of calculating and the corresponding estimated value of additional information, to carry out the selection combined to this compression method, but the selection can also
To be carried out based on achievable true coding result, such as by one or more parts to initial data using compression side
The various combination of method iteratively carries out.In addition, in the disclosure, coded data can be restored back in original letter by also describing
Cease the decoder of (for example, form of bit or symbol data).
In embodiment of the disclosure, data compression method and corresponding uncompressing data are corrected using data area
Device, referred to as continuum arithmetic unit, it is suitable for all bits or symbol datas.In addition, also being optimized using continuum arithmetic unit
Bit needed for the transmitting of code table needed for the data symbol being coded by entropy using any entropy coder or transmitting individual data symbol.
Above-mentioned improved compressed data method and corresponding decompression data method are combined with various different bits or symbol
Corrector, different entropy correctors and entropy coder, compressed with will be indicated as the raw information of bit or symbol data not of the same race/
Decompression.The compressing/decompressing method is combined with such as Split Run Length coding (RLE/SRLE), and (see reference document
[1], [9] and [10]), entropy corrector (EM) (document that sees reference [13]), ODelta encoder (document that sees reference [14]), with
And the characteristic of continuum arithmetic unit, the bibliography [1], [9], [10], [13] and [14] are incorporated herein by reference.
Continuum arithmetic unit only adds continuum value symbol to raw value symbol data, and is modified in continuum value simultaneously
Original figure value of symbol.This means that any raw value symbol is all present in amendment together with one or more numerical symbols
In data.When original figure value of symbol and when being accepted as the numerical value difference of raw value, it is replaced by and received original
The similar amendment numerical value of initial value and one or more continuum values.In general, in practice it means that working as original figure symbol
When being worth is-at-most symbol value threshold value (SVT), amendment symbol data is added in original symbol value as former state.Otherwise, one or more
Continuum value symbol is added to value of symbol transmitting.In the case, last symbol or first symbol are less than and are equal to
The invulnerable release of the original symbol of SVT, and continuum value symbol is before or after it.Continuum value and amendment value of symbol
As a result must be worth with original symbol identical is in order to realize being correctly decoded for continuum arithmetic unit, such as lossless data compression
And decompression.
Due to afore-mentioned characteristics, value of symbol and coded data can always be separated.Acceptable each value is own
Solution code value, and when calculating its decoding value of symbol by it before (or later) all possible continuum values make with it
With.In other words, amendment data in less than or equal to SVT symbol (if 0 value is also acceptable value) quantity always with it is original
Original symbol quantity in symbol data is identical.In addition, there is also one or more continuum value symbols, these continuum values symbol
Number with less than or equal to SVT amendment data symbol or raw data symbols (if 0 value is also acceptable value) be different symbol
Number.Valuably, original and amendment symbol is rendered as the symbol from 0 to SVT, continuum value symbol be then rendered as symbol SVT+1,
SVT+2, etc..Valuably, the smallest SVT value is 2, otherwise using LUT just than using continuum arithmetic unit more efficiently.
Use continuum arithmetic unit generate can be used known entropy coding method (document that sees reference [2], [3] and [4]) with
And other coding methods, come the amendment symbol stream compressed, other described coding methods are, for example, that (see reference arithmetic coding document
[5]), run-length encoding (document that sees reference [6]) or Variable Length coding (VLC) (document that sees reference [7]).Later
Known entropy corrector can be used to correct by the modified symbol stream of continuum arithmetic unit, the known entropy corrector is, for example,
ODelta encodes (document that sees reference [8] and [14]), or (see reference the entropy corrector (EM) with or without entropy coder text
Offer [13]).The data to be compressed can also (i.e. a priori) be repaired in advance by the various above methods and other methods or deformation
Just.
As set forth above, it is possible to by using calculating entropy and additional information (such as table transmitting, method choice continuum value
Transmitting) estimation or calculation amount carry out the selection combined to used compression method, but can also be for example with the side of iteration
Formula carries out the selection based on obtainable true coding result, until finding compress and/or one or more
Partial optimum combination.In addition, description can be used for restoring coded data and (decompressing) returning for example in following specification
With the decoder for the raw information that bit or symbol data are expressed.
The embodiment of the implementation of the disclosure is described below.These methods are for example with encoder or respective decoder
Hardware logic is realized.In addition, the initial data to be compressed optionally is obtained from one or more sensors, it is one or more
A sensor is, for example, one or more cameras and/or one or more microphones, and true physical phenomenon is converted to
It is corresponding to indicate data.Alternatively, it is recorded in non-transient (non-instantaneous) machine-readable data and stores by using being arranged as executing
The computing hardwares of one or more software products on medium realizes the method, and wherein software product realizes the upper of the disclosure
State method.In the example that will be described below, an original sample information is compressed by using disclosed method, is also mentioned
For with use result obtained by known method it is some compared with.
An example information comprising N number of symbol can be indicated by formula 2:
S1, s2, s3 ... sN
Or s0, s1, s2 ..., sN-1
Or s (1), s (2), s (3) ... s (N), formula 2
Etc.
In raw information, symbol is divided into the sequence of separation before or after can stating in use continuum arithmetic unit
Column or stream.Similarly, if there is many sequences or stream, then they can be combined before or after continuum arithmetic unit to mention
For one or more symbols.
The one or more of the entropy of one or more parts based on the initial data indicated by symbol calculate and estimation
Additional information can determine the best alterative version of the symbol of expression raw information to encode and (compress) raw information.It can be with
The entropy of the symbol of above-mentioned expression raw information is calculated based on the probability of symbol needed for indicating raw information.It similarly, can be with base
The entropy of composite symbol is calculated in the probability of occurrence of composite symbol.It is appreciated that composite symbol is usually considerably less than original symbol,
And group interflow is less than the primary flow of raw information.
It is further appreciated that collaborating associated additional information to composite symbol or group is always more than corresponding original symbol or original
Begin the additional information of stream, and in other words, associated data header indicates one or more symbols and/or one or more
Stream is combined to create corresponding compressed data during given.This is because generally, the phase between composite symbol
Closing property is not equal to 1.Furthermore, it is necessary to some mechanism come indicate which composite symbol have nonzero probability, otherwise, for example, use entropy
When coding, transmits VLC code table or run-length encoding probability needs a large amount of additional informations.When needs transmit or encode less initial data
When, the amount of additional information is also more significant data portion.
Similarly, the entropy of segmentation stream or symbol can be calculated based on the probability of segmentation stream or symbol.If based on original
The segmentation of data creates multiple streams, then then it is beneficial that the entropy for calculating separately each stream is summed.In addition, each stream is respectively required for
Want additional information.Generally, the size of data of the arbitrary sequence in the independent sequence of additional information related with the segmentation is all small
The additional information needed for a stream, but the sum of all additional information sequences flowed can be less than or greater than needed for a stream
Additional information.When dividing from 1 bit to 8 bit symbol streams or combining raw information, the size of data of additional information generally can
Reduce, such as is reduced to minimum value.It, can be by the way that entropy bit be believed with additional when all entropys and sequence of known additional information
Breath is reduced to minimum value to select optimal symbol format.
Preferably, it is also based on original symbol creation SRLE symbol and crossfire (runs stream) is used for according to this public affairs
Compressed data is opened, referring to UK Patent Application GB 1303660.3, similar U.S. Patent application US13/782,872, it is related
Content is incorporated herein by reference.Following equation 3 shows the example of the symbol for obtaining two stream:
S (1), S (x1), S (x2) ... (being directed to symbol);And
R (1), R (x1), R (x2) ... (for string) formula 3
Wherein:
S (1) is the first symbol;And
R (1) is the string of similar subsequent symbol S (1).
Symbol S (x1) is next distinct symbols after the string R (1) of subsequent symbol S (1), and R (x1) is similar subsequent
The string of symbol S (x1).
Symbol S also may indicate that as follows:
S (1), S (1+R (1)), S (1+R (1)+R (2)) ... (being directed to symbol) formula 4
It now,, can also be by this during iterating to the best practice of use for example, when compressing raw information
The combined entropy of kind is compared with alternative earlier.
Entropy corrector and entropy coding can be used for handling bit data, i.e., for handling data in a manner of bit-by-bit, such as
Described in UK Patent Application GB 1303658 and GB 2301252, but they are unsuitable for handling higher order symbols data.For
These continuum symbols, remaining symbol or escape character method for handling bit data also can be modified to for having this public affairs
The symbol data of described feature is opened, for example, can be by using similar continuous used in the EM for bit crossfire
System symbol technology come correct SRLE rather than RLE crossfire (wherein in the same stream exist string and symbol).In addition to ratio described above
Except spy, most of known implementations of RLE/SRLE do not use continuum symbol, remaining symbol or escape character.Work as presence
When can use more subsequent simileys of largest string values (such as 8 bits) expression, by the way that same symbol is gone here and there with new again
It number is added, to transmit the extremely long string of simileys.
In the first example, if 8 bit symbols are used together with 8 Bit Strings, and there are 300 subsequent " A " words
Symbol, then corresponding RLE writing:A255 A45 (symbol and string that have identical quantity in stream).There is also the 2nd RLE scheme, when depositing
A string value is used only and used always at least two simileys, but string value is not used for single symbol.It is same to show
Example can be expressed as AA255 AA45 (quantity of symbol is at least twice gone here and there i.e. in stream).As described above, RLE/SRLE is practical
It is upper not use any continuum symbol, remaining symbol or escape character (encoding), but there may be itself to have the subsequent of string
Simileys.Further, it is also possible to which symbol and string are divided into not cocurrent flow using SRLE (document that sees reference [9]).Now, first-class
It is represented by AA and 255,45, second is represented by AAAA and 255,45.However, it will be understood that value 255 has special weight
The property wanted, and based on byte (8 bit) dynamic, value 255 is neither continuum value, remaining value or escape character, nor encoding.
Value 255 can also be used individually in different location, be not additionally required and transmitted escape to be higher than 8 bits (such as with 16 bits)
String value.When being used together escape character (coding) scheme with SRLE, it may be advantageous that, using at least three streams, such as A is in symbol stream
In, escape character (such as 0) is in crossfire, and 300 in escape string value stream.
Next, description to be used in combination to the example of above-mentioned continuum arithmetic unit with SRLE method.Continuum arithmetic unit is repaired
The quantity just gone here and there has to be larger than the quantity of original string symbol, thus when string symbol value is higher than selected one or more continuum values simultaneously
At least above the value of value of symbol threshold value (SVT) when, addition is for indicating the continuum value of the still quantity of the simileys of continuum
Symbol, i.e. (the +/- value of continuum and amendment value of symbol or amendment value of symbol and +/- continuum value).For example, when there are N (=330)
When a symbol, shown in the following formula 5 of string value:
2,7,9,102,12,21,19,3,1,6,18,18,16,10,5,37,19,5,2,18 formula 5
The stream, i.e. 20 values of symbol in total have string value, range between 1 to 102, can for example by using
Variable Length encodes (VLC), Range is encoded or arithmetic coding and is compressed.Furthermore, it is to be understood that all original strings
Value has to be larger than equal to 1, and largest string values are necessarily less than equal to N=institute signed number=330.Transmit these symbol direct requirement examples
Such as 20*9=180 bit, intermediate value 330 can be indicated with 9 bits or 4+20*7=144 bit, wherein 4 bits are used for transmitting
In the bit (=7, because value 102 can be indicated with 7 bits) of symbol.If such as fixed without available suitable fixed code table
Predetermined code table, then much more bit will be needed by transmitting corresponding code table, so probably cannot be with this number in formula 5
According to entropy coding method is efficiently used together.
In accordance with an embodiment of the present disclosure, it can be calculated by using SVT value optimizer by a large amount of, then use symbol 0
(because 0 cannot be in original crossfire) selects a continuum value (such as 19+) similar with SVT value to indicate in amendment crossfire
Continuum value.Now, these string R (x) values can be modified to amendment string R ' (x) value, as shown in formula 6:
2,7,9,0,0,0,0,0,7,12,0,2,19,3,1,6,18,18,16,10,5,0,18,
19,5,2,18 formula 6
During symbol (0, x) indicates that the value (19+x) during decoding, similar symbol (0,0,0, x) for example indicate decoding
It is worth (19+19+19+x) or (19+ (19+ (19+x))).The sum of continuum arithmetic unit amendment string R ' (x) value of symbol is during decoding
It is still 330, because 0 value can be replaced by value 19 when calculating summation.Therefore symbol quantity increases to 27 from 20, i.e., due to having 3
A string value higher than SVT value, is added to 70.The stream, i.e., 27 symbols can be transmitted with such as 6+27*5=141 bit
Number, value of symbol is (1 arrives 19+0), and 6 bits are used to transmit continuum value (cont+), it is similar to SVT value (=19), 20 (=
1 to 19+0) a distinct symbols value can be distinguish by 5 bits.Can also for example by using VLC, run-length encoding or
Arithmetic coding compresses the number using the table transmitting for coding method described in bibliography [15] and [16]
According to above-mentioned document is incorporated herein by reference.
Optionally, continuum arithmetic unit is modified to comprising more continuum values, such as cont1+=19+, cont2+=
50+.In addition, SVT value is similar with cont1+=(19+) value, it is equal to 19.First continuum value, that is, cont1+ still uses symbol 0, the
Two continuum values, that is, cont2+ is by assigned symbol 20 (=SVT+1).Continuum arithmetic unit amendment crossfire R ' (x) can write public affairs
The form that formula 7 provides:
2,7,9,20,20,2,12,0,2,19,3,1,6,18,18,16,10,5,0,18,19,
5,2,18 formula 7
Now, in formula 7, come by using symbol (20,20,2) rather than symbol (0,0,0,0,0,7) to string value
" 102 " coding, then the sum of string symbol is reduced to 24 symbols.The stream in formula 7, i.e. 24 symbols have symbol (0
To 20), can for example be transmitted by 6+6+24*5=132 bit, 6 bits are for transmitting continuum (19 and 50) value, and 21
(cont1 (=0), cont2 (=20) and the value from 1 to 19) a distinct symbols value can be come by using 5 bits of every value of symbol
It presents.It can also be by using for example above-mentioned VLC, run-length encoding or arithmetic coding, using in bibliography [15], [16]
The table of the coding method of description transmits to compress the data, which is incorporated herein by reference.When using multiple continuous
When system value, the transmitting of these continuum values may be different modes, for example, 19 and 31 rather than 19 and 50.Optionally, if
Using the continuum value with negative value, then when transmitting continuum value, it is also desirable to for example by using sign bit or different volumes
The information for indicating negative value is sent decoder or data storage device by code method.Valuably, if it is necessary to using more than two
A or three other continuum values, then define new continuum value.
Valuably, before to the original symbol in original symbol stream using continuum arithmetic unit, in original symbol stream
Original symbol execute transformation so that it is transformed stream comprising 0 value as minimum value therein.It will be described below using continuous
Example string value transformation before system arithmetic unit, this has modified obtainable result.Also continuum value is done in following example
Small amendment.It is appreciated that string symbol value must be in range 1 between N, as described above, these symbols are needed by 1 transformation and nothing
Any information need to be transmitted.Now, original R (x) flow table is shown as the T (x) being used for transmission stream, as shown in formula 8:
1,6,8,101,11,20,18,2,0,5,17,17,15,9,4,36,18,5,1,17 formula 8
It is alternatively possible to SVT value is selected as such as 18 (=19-1), but hereinafter, selecting SVT value is 19.In addition,
It is cont1+ (=SVT+=19+) that two continuum values, which are selected as symbol 20, is cont2+ (=100 for symbol 21
+).This becomes corresponding continuum arithmetic unit amendment conversion symbol T ' (x) shown in formula 9:
1,6,8,21,1,11,20,1,18,2,0,5,17,17,15,9,4,20,17,18,4,
1,17 formula 9
Therefore, the string symbol sum in the stream is 23 symbols.The stream of 23 symbols has symbol (0 to 21), can be with
Such as with (5,6 or 7)+7+23*5=127 to 129 bit transmits, wherein 5-7 bit is for transmitting cont1+=(19+)
Value, 7 bits, can be by being used for each value of symbol for 5 bits for transmitting cont2+ (=100+) value, and to indicate 22, (=0 is arrived
19+20+21) a distinct symbols value.It can also be for example by using VLC, run-length encoding or arithmetic coding, using for reference to text
The table for offering coding method described in [15], [16] transmits to compress the data, and above-mentioned document is incorporated herein by reference.
It is appreciated that the continuum fortune for the optimization of SRLE implementation can also be compressed using any entropy coding method
Calculate the symbol stream S (x) after device.If S (x) includes bit value, only need to transmit the first bit value, such as bibliography [13]
Middle EM is such, or needs to transmit the information of the first bit value because when for string value use continuum arithmetic unit when it is known other
Value changes one by one, so that only need to transmit a string value for continuum simileys value, for example, if S (x)=1,0,
1,0,1,0,1,0,1, then the first value 1 is only transmitted for symbol S (x) or is for example produced using coding method _ 1_EM_CM_Range
The information of the first raw value 1, continuum arithmetic unit modified R ' (x) or T ' also for string R (x) value transmitted therewith
(x) value.When using the value being directed to other than the continuum arithmetic unit compression ratio paricular value that SRLE implementation optimizes, it is known that Bu Huifa
There are two similar subsequent values in raw S (x) stream, but still do not know that next value is really.Therefore, it is necessary to also with certain entropy volume
Code method compressed symbolic value S (x), and compress continuum arithmetic unit modified R ' (x) or T ' (x) value.
Although can also compressed as described above, continuum arithmetic unit mainly transmits string symbol after EM or SRLE
Continuum arithmetic unit is used when any symbol.It modifies when first with continuum arithmetic unit comprising many small values and only some high level
Optional sign stream when, can use or do not utilize entropy coding efficiently to encode the symbol stream.Sometimes, when there is also many height
And/or when intermediate value, continuum arithmetic unit is also likely to be adoptable proper method, for example, working as symbol s (x) value such as 10 institute of formula
When showing:
3,1,252,254,2,252,1,1,252,0,254,3,6 (13 symbols) formula 10
Then, continuum arithmetic unit amendment value of symbol s ' (x) corresponds to SVT=3, and continuum value cont1+ (=3+) is corresponding
Correspond to symbol=5 in symbol=4, cont2+ (=252+), as shown in formula 11:
3,1,5,0,5,2,2,5,0,1,1,5,0,0,5,2,3,4,3 (13+1+5=19 symbol) formula 11
Therefore, the primary flow in formula 10 include 8 bit symbol values, i.e., 0 to 254, can use 13*8=104 bit come
Transmitting.Continuum arithmetic unit amendment stream in formula 11 includes 19 symbols, can only be passed by every 3 bit (0 to 5) of symbol
It passs and is transmitted by 8+8+19*3=16+57=73 bit, be somebody's turn to do the compression the result is that considerable, 16 bits in the calculating make
73 bits are at most needed to transmit the two continuum values.
The same symbol stream (i.e. formula 10) is compressed when attempting to utilize using the method for one or more escape characters (code)
When, available data compression is simultaneously not so good as the success that formula 11 is presented.Symbol frequency is very similar, does not use escape generally
Symbol (code).Code table or original symbol are transmitted in order to use a large amount of escape characters (code), such as when utilizing escape character (code)
It when transmitting 6 or more value, can attempt to reduce code table transmitting with other symbols with itself value of symbol or reduce transmitting
Bit needed for small value of symbol, then code table or small value itself are only comprising the value and escape character (code) (=8 differences from 0 to 6
Symbol).In this case, the transmitting of symbol using 8 (must delivery value 6)+13*3 (for each symbol-to be original or escape)
+ 5*8 (the escape value after escape character)=8+39+40=87 bit.The result is significantly better than without using one or more
Escape character (code), but the result is still inferior to the result obtained by using continuum arithmetic unit correction result.When in stream also
There are when some intermediate values, more beneficial outcomes of continuum arithmetic unit are obtained.
Another example is described below.When primary flow s (x) is as shown in formula 12:
3,1,252,254,2,252,1,1,252,0,254,3,6,147,149,2,253,148,1,152 (20 symbols) formula 12
Then, continuum arithmetic unit amendment value of symbol s ' (x) corresponds to SVT=3, and continuum value cont1+ (=3+) is corresponding
Correspond to symbol=5, cont3+ (=252+) in symbol=4, cont2+ (=147+) and correspond to symbol=6, such as 13 institute of formula
Show:
3,1,6,0,6,2,2,6,0,1,1,6,0,0,6,2,3,4,3,5,0,5,2,2,6,1,
5,1,1,5,4,2 formula 13
Primary flow includes 8 bit values (0 to 254), can use 20*8=160 bit to transmit, continuum arithmetic unit is repaired
Positive stream includes 32 (=20+2+4+6) a symbols, only can transmit and pass through 8+8+8+32* by every 3 bit (0 to 6) of symbol
3=24+96=120 bit transmits, and needs 24 bits at most to transmit these three continuum values.
About escape character (code), when using at least one escape character (code) and other symbols with itself value come
When the value of 6 or more transmitting, code table or small value only comprising from 0 to 6 value and at least one escape character (code) (=8 different to accord with
Number).In this case, the transmitting of symbol using 8 (must delivery value 6)+20*3 (for each symbol-to be original or escape)+
10*8 (the escape value after escape character)=8+60+80=148 bit.The compression result is still better than without using at least one
Escape character (code), but the result is still inferior to the result obtained by using continuum arithmetic unit.
It is understood that, it may be advantageous that, the first continuum value always limits SVT.Therefore, depending on the symbol frequency in primary flow
Rate, the first continuum value should be as small as possible.It can also be reduced using other continuum values needed for the larger value of symbol of transmitting
Bit, generally, the larger value of symbol are apparently higher than the first continuum value.All continuum values are all assigned the symbol of its own
Number, it may be advantageous that, these symbols are SVT+1, SVT+2, etc..If X indicates the amount of used continuum value, there are 0 to be arrived
SVT original or amendment symbols and X continuum value=> are when before continuum arithmetic unit using conversion, in amendment stream
There are (SVT+1)+X distinct symbols.
Certainly, if without using conversion, such as 0 symbol is not used in primary flow, then symbol 0 can be used for first
Continuum value.In the case, continuum arithmetic unit is embodied as it never and is the purpose except continuum purpose and generates 0 symbol
Number, for example, if continuum value is 3 (symbol=0), and going here and there is 3, then it cannot be encoded by symbol (0,0), and must be with symbol
Number (3) coding.In this example, it is possible to understand that symbol (3) is often more preferably encoded than symbol (0,0), but ought such as cont1=
3+ (symbol=0) and cont2=30+ (symbol=4), and when needing to transmit string value 30, need using symbol (0,0,0,0,0,
0,0,0,0,3), symbol (4,0) cannot be used.
It is known (such as right preferably by using in general, when one or more first values are unavailable in original data stream
It is that 1) deviant or the deviant of transmitting carry out the conversion symbol value before continuum arithmetic unit in string.Then, for example, if there is
Given flow valuve from 3 to 200, then using the continuum value symbol at the top for SVT symbol, then, it may be advantageous that, to original symbol
Number using offset -3, thus acquisition value 0 to 197, to provide conversion symbol.Now, it may be advantageous that, SVT is selected as 10, it will
Cont1 value is selected as 10+, to obtain symbol 11 to it.It can distribute to other continuum values from 12 to required any number of
Symbol.Therefore, all small values are all used for original or amendment symbol, continuum value and are assigned symbol SVT+1, SVT+2, etc..
It is further appreciated that utilizing continuum arithmetic unit, it is necessary to which at least one continuum value is the symbol (example with own
Such as SVT+1) define (=SVT+), and using at least once in amendment symbol stream.It can also determine in amendment symbol stream
Justice and the multiple continuum values (cont1, cont2 ..., contN) of use.One original symbol can be rendered as 0, one or more
A continuum value symbol and a symbol less than or equal to SVT, for example, if cont1=10+ (carrys out table by using symbol 11
Show) and cont2=100+ (being indicated by using symbol 12), and it is worth (0 to 10) using original symbol (0 to 10), then
Such as value 7 is rendered as being rendered as having continuum value symbol (11,7 Hes without continuum value symbol (7), value 17 and 107
12,7), value 27,117 and 207 is rendered as continuum value symbol (11,11,7 and 12,11,7 there are two tools;With 12,12,7), value
37,127,217 and 307 are rendered as tool, and there are three continuum value symbols (11,11,11,7 and 12,11,11,7 and 12,12,11,7
With 12,12,12,7), etc..It can be from one or more one original symbol of continuum value symbol construction, these continuum values
Symbol can be the same or different from each other.For an original symbol, there can also be the higher continuum value symbol of exclusive use, i.e.,
Without using lower continuum value symbol.According to selected continuum value and selected decoding formula, it usually can freely change very much reality
The sequence of border continuum symbol.For example, in preceding example, when positive continuum+value is used only, for example, value 217 can indicate
It is 12,12,11,7 or 12,11,12,7 or 11,12,12,7.
The coding of ODelta described in the bibliography [14] being incorporated herein by reference can be also used for improving and can get
Coding result.Generally, when original symbol is number or when value, be used for original symbol, then may be implemented symbol it
Between subtraction or additional calculation.
Optionally, available symbols can also be converted into palette (palette) first, in other words, by searching for table
(LUT) indicate that the numbers of available symbols, the number are also required to be expressed or transmit, it then, can be with as described above directly
Or these symbols are used using ODelta coding.Symbol be number or value but number or value it is discrete be distributed in entirely it is right
In the case where answering within the scope of dynamic symbol, it may be very useful for reducing symbol quantity by using table.
When information to be processed includes multiple channels (such as RGB image pixel), information can also be transformed to color
The different value inversion (approximate inversion sometimes) can be returned original value by using inverse transformation by the different value in space.This
One representative example of kind transformation pair is RGB to YUV and YUV to RGB transformation, as described above.Generally, in YUV color space
In, natural image be it is compressible, as described in bibliography [12], be incorporated herein by reference because the main body of information with
And most of important information is present in the channel Y, Color Channel U and V can be downsampled for example to YUV420 or YUV422 to obtain
Obtain better compression ratio.There are apparent associations between R, G and channel B, reduce this by executing RGB to YUV transformation
Association.In addition, if the information that other information can reduce different channels is directly associated with, then other described letters can be used
Breath.
There is also the symbols for not being much numerical value.For example, character needs first to become before using the processing of continuum arithmetic unit
For numerical value.Generally, which is such as A=0, B=1, C=2, etc., but other transformation also can be used.For example, some
The probability of kinds of characters often can be highly useful transform method in language, i.e., these characters can be by their probability
Sequence indicates.
Continuum arithmetic unit, which always inputs, has identical dynamic range (such as the bit width for expression symbol, word length
Degree, bit number) value.In addition, continuum arithmetic unit usually returns to the value with smaller dynamic range after treatment, in other words,
After treatment, carry out expression symbol using less bit.At least, the distinct symbols compared with original input data, in result data
A possibility that alternative, must be always smaller.
A good example for reducing size of data using continuum arithmetic unit is Roman number system.The digital display circuit
A small assemble of symbol, i.e. I=1, V=5, X=10, L=50, C=100, D=500 and M=are always limited well
1000, which can be used to indicate that the positive integer value for example from 1 to 4000, can by using bit labeling, with
Every 12 bit of symbol indicates this 4000 distinct symbols.Similarly, it can use every 3 bit of symbol to indicate this 7 differences
Roman number label symbol, i.e. I=0, V=1, X=2, L=3, C=4, D=5, M=6.In general, can be with less than 4 Rome
Numerical chracter indicates positive integer value, therefore for this special symbol, Roman number marks more efficiently than bit labeling.?
Using when this arithmetic unit, there are three big disadvantages.Firstly, not supporting zero or not supporting negative value when without using sign.
Secondly, if without available additional information, such as the space between value, it has no idea positive integer value is separated from each other.The
Three, associated " SVT " value is too small.SVT value can be detected, other characters can be detected as other continuum values.But
It is that present SVT value is too small, such as when to express number 8 or 3333, it is possible that leading to the problem of.For example, if there is as follows just
Integer:
11,9,33,101,4,2,1,8,3,10,34,68,
Then there are 12 symbol-> 12*12 bit=144 bits or 12*7 bit=84 bits.Further, it is necessary in the presence of extremely
Few 101 distinct symbols are to be presented all values without specific separator.Then, corresponding Roman number label can be presented
For:
XI, IX, XXXIII, CI, IV, II, I, VIII, III, X, XXXIV, LXVIII
Wherein there are+11 separator-> 36*3=108 bits of 36 characters.
It is appreciated that since these numbers are positive integers, so not needing transmitting sign information.Therefore, if using inclined
=-1 is moved to obtain such as the s (x) that flows down:
10,8,32,100,3,1,0,7,2,9,33,67
In addition, if selection SVT=3, cont1+=3+ (symbol=4), cont2+=10+ (symbol=5), cont3+=
33+ (symbol=6), cont4+=100+ (symbol=7), etc., then this label is conveniently referred to as Rome continuum operation
Device does not need the additional information except transmitting correlation technique itself when using the Rome continuum arithmetic unit.Now, the operation
Stream s ' (x) after device is as follows:
5,0,4,4,2,5,5,5,2,6,6,6,1,3,1,0,4,4,1,2,4,4,3,6,0,6,6,1
Wherein there is+0 separator-> 28*3=84 bit of 28 symbols.
These symbols Jing Guo continuum operation do not need any specific separator, but can write on together, and still
How many symbol only can be known by all symbols from 0 to 3 in detection amendment stream or value of symbol and how to form it
?.This means that for the value handled through continuum arithmetic unit (that is, using 8 distinct symbols)
5044255526661310441244360661 be also effective, but for using the Roman number of 5 distinct symbols to mark,
XIIXXXXIIICIIVIIIVIIIIIIXXXXIVLXVIII is invalid because cannot be decoded from stream digital quantity and they
There are one or more ambiguities in value.It is further appreciated that for example when using entropy coding method after operation, distinct symbols
Amount it is smaller, compaction table transmitting needed for additional information it is fewer.Therefore, the symbol handled through continuum arithmetic unit is better than binary system
Label, although the necessary bit quantity of minimum in preceding example is identical without entropy coding.
As described above, raw symbol data can also be divided into multiple segments or part according to the disclosure.In general, not
Probability with the available symbol of data slot is different, therefore each segment of absolute coding or part are beneficial.Therefore, exist
As described above using before continuum arithmetic unit, symbol stream can be divided into multiple segments.
Distinct methods can be used to encode raw information, i.e. symbol data, to generate coded data, optionally, for example,
Distinct methods are executed with sequence (i) to (iii):
(i) ODelta is encoded;
(ii) continuum arithmetic unit;And
(iii) run-length encoding.
Be embodied as firmware hardwired logic, specific integrated circuit (ASIC) and/or be recorded in non-transient (non-instantaneous) machine can
This coding staff is executed in the encoder according to the disclosure of one or more software products on read record data storage medium
Method, wherein the one or more software product can be executed in computing hardware to realize the coding method.Optionally, the calculating
Hardware is included in personal computer, audio/video devices, television set, wireless computer device, smart phone, mobile phone, interaction
In formula gaming consoles, automotive electronic information system, but it is not limited to above equipment.
Such as in the decoder according to the disclosure, in step (i) to (iii), coded data is decoded back with backward
Raw information (symbol data):
(i) reverse drive encodes;
(ii) inverse continuum arithmetic unit;And
(iii) inverse ODelta is encoded.
Be embodied as firmware hardwired logic, specific integrated circuit (ASIC) and/or be recorded in non-transient (non-instantaneous) machine can
This decoding side is executed in the decoder according to the disclosure of one or more software products on read record data storage medium
Method, wherein the one or more software product can be executed in computing hardware to realize the coding/decoding method.Optionally, the calculating
Hardware is included in personal computer, audio/video devices, television set, wireless computer device, smart phone, mobile phone, interaction
In formula gaming consoles, automotive electronic information system, but it is not limited to above equipment.
Other examples of the disclosure are described below, wherein to compress an original sample information.The original sample information can
Selection of land includes at least one of the following:Capture audio signal, capture vision signal, capture image, text data, earthquake number
According to, sensor signal, modulus (ADC) change data, biological signal data, calendar data, economic data, mathematical data, two into
Data processed, but not limited to this.During compressing raw information, optionally with known and new data processing mode combination.
As described above, optionally, providing continuum value using negative continuum.When utilization continuum arithmetic unit corrects ODelta
When the symbol of coding, this is very useful method.If there is such as 7 bit original values and high level 80 is used, is used
ODelta arithmetic unit corrects these original values, then there is the largely value close to 0, Yi Ji great in ODelta arithmetic unit amendment stream
Measure the value close to 80.Furthermore, it is to be understood that symbol 0 means, symbol identical as preceding value in ODelta arithmetic unit amendment symbol
Number 1 means preceding value+1, and symbol 80 means preceding value -1, and so on.Stream D (x) can be expressed as formula 14:
4,0,80,0,1,80,79,0,0,2,0,0,0,80,1,0,1,0,1,80,78 (21 symbols) formula 14
If cont1=2+ corresponds to symbol 3, and cont2=80- corresponds to symbol 4, then in continuum using SVT=2
It is as shown in formula 15 that D ' (x) is obtained after arithmetic unit:
3,2,0,4,0,0, Isosorbide-5-Nitrae, 0,4,1,0,0,2,0,0,0,4,0,1,0,1,0, Isosorbide-5-Nitrae,
0,4,2 formula 15
Symbol (4, x) means value (80-x) now.In addition, primary flow includes 7 bit values (0 to 80), by using 21*
7=147 bit transmits, and continuum arithmetic unit amendment stream includes 28 (=21+1+6) a symbols, using every symbol only 3 bit
(0 to 4) are transmitted, therefore can be transmitted with 7+8+28*3=15+84=99 bit, and to transmit the two continuum values at most need
Want 15 bits.First value indicates SVT, it is necessary to for the positive value between 0 to 80, that is, need 7 bits to express it, second value use example
It is just or to bear that continuum value is limited such as 1 bit, needs 7 bits at most to express the second absolute continuation system value.It then can be with
Such as encoded by using run-length encoding, arithmetic coding or VLC and easily compress the stream, because symbol frequency is 0 to 4 i.e.
(13,5,3,1,5).It is appreciated that by value identical with preceding value, i.e., the combination of ODelta arithmetic unit and continuum arithmetic unit allows
The value that difference is 0, or the value with positive delta, that is, positive difference are transmitted as absolute value, are used for sign without any bit,
It also allows i.e. negative with negative delta to transmit as sign instruction and subsequent absolute value by using cont2- symbol
The value of difference.Therefore, which is very efficient compression method, and bit needed for realizing transmitting original symbol value
In other words huge compression realizes efficient data compression.
It is alternatively possible to can always calculate decoding by using following formula using multiple positive and negative continuum values
As a result, there are three continuum value symbols at this time is used for a symbol s (x).Formula 16 has used label, wherein at least one symbol
It number is amendment symbol, continuum value symbol is before the amendment symbol.Optionally, inverse scheme can also be used.
+/- (contb (s ' (y-2)) +/- (contc (s ' (y-1)) +/- s ' (y))) formula 16 of s (x)=conta (s ' (y-3))
Wherein
X is the index of original symbol;
Y is the index of corresponding amendment symbol;And
Conta, contb and contc are used continuum values.
It is alternatively possible to using positive or negative continuum value, therefore using corresponding +/- operator in actually calculating, therefore,
For example, occur the first symbol 4 in preceding example, and 3,3,1, it then solves shown in the following formula 17 of code value
S (0)=conta (s ' (3-3)) +/- (contb (s ' (3-2)) +/- (contc (s ' (3-1)) +/- s ' (3)))=
80- (2+ (2+1))=75 formula 17
Another formula 18 can also be used, wherein positive and negative continuum value follows each other, that is, adjacent fashion is used, without making
With any additional bracket, as follows:
S (x)=conta (s ' (y-3)) +/- contb (s ' (y-2)) +/- contc (s ' (y-1)) +/- s ' (y) formula 18
For example, when the first symbol is 4,3,3,1, solution code value is as shown in formula 19 in preceding example:
S (0)=conta (s ' (3-3)) +/- contb (s ' (3-2)) +/- contc (s ' (3-1)) +/- s ' (3)=80-2+
2+1=81 formula 19
The example is not optimal, because end value is except original symbol range.But if there are also third symbols 5 to use
It in third continuum value (cont3+=10+), is then improved, for example, in the preceding example including the first symbol 4,5,3,1
In, solution code value is as shown in formula 20:
S (0)=conta (s ' (3-3)) +/- contb (s ' (3-2)) +/- contc (s ' (3-1)) +/- s ' (3)=80-10
+ 2+1=73 formula 20
Same first symbol 4,5,3,1 is decoded as shown in formula 21 using another formula (formula 20):
S (0)=conta (s ' (3-3)) +/- (contb (s ' (3-2)) +/- (contc (s ' (3-1)) +/- s ' (3)))=
80- (10+ (2+1))=67 formula 21
In addition, which kind of continuum encoding operation device used according to selection, a lot of other decoding functions can be used.In formula
Always there are 1 amendment symbol and one or more continuum symbols, can be used or come without using bracket using nonidentity operation device.
For example, a very different function is following equation 22, without cont+/- arithmetic unit, but +/- arithmetic unit is used,
Middle amendment symbol is before continuum value:
S (x)=- (the +/- conta of s ' (y) (s ' (y+1)) +/- contb (s ' (y+2)) +/- contc (s ' (y+3))) formula 22
If present symbol is Isosorbide-5-Nitrae, 5,3, then:
S (0)=- (s ' (0) +/- conta (s ' (0+1)) +/- contb (s ' (0+2)) +/- contc (s ' (0+3)))=-
(1-80+10+2)=67 formula 23
It is appreciated that when correcting symbol before continuum value, it is (i.e. new original or repair that next new symbol can be based only upon
Positive value) or detect based on data end (for last symbol) end of amendment symbol.Therefore, using correction value it
Preceding continuum value rather than the continuum value after correction value is usually more useful.
With reference to Fig. 1, the schematic diagram of the encoder 10 according to the disclosure is provided.Encoder 10 can be used to receive data
D1 and processing data D1 are to generate corresponding encoded data D 2.Valuably, encoded data D 2 corresponds at least one of data D1
The compressed version divided.Encoder 10 include can be used to using according to the firmware hardwired logic of the coding method of the disclosure and/or
Computing hardware 20.Encoder 10 receives data and is converted into respective symbol if D1 is not sign format.Optionally,
Input data D1 is divided into multiple portions or segment 30, wherein each part or segment 30 are advantageously chosen as so that it is accorded with
Number probability of occurrence for realize data compression be very efficient.Then, for example, using said one or it is multiple original or
Symbolic coding and/or one or more continuum value symbols are corrected, the glossary of symbols is compiled in collaboration with using above-mentioned continuum arithmetic unit
Code, to generate intermediate data 40.The intermediate data 40 optionally by for example using above-mentioned run-length encoding or similar codings mode and
It is further encoded, to generate encoded data D 2.
In the decoder 50 according to the disclosure, it may be advantageous that execute the inverse behaviour of the calculating operation executed in encoder 10
Make, encoded data D 2 is converted into decoding data D3, wherein decoding data D3 valuably be at least data D1 essence it is similar
It reproduces, when encoder 10 and decoder 50 are worked with lossless manner, data D3 and data D1 can be identical.Decoder 50
Firmware hardwired logic and/or computing hardware 60 including can be used to apply the coding/decoding method according to the disclosure.
Encoder 10 and decoder 50 have been bonded codec shown in appended drawing reference 100.As described above, data
D1 beneficially corresponds to indicate the data of actual physics variable, such as is become by using the physics of one or more sensors capture
Amount.The one or more sensors optionally include wireless telecom equipment (such as smart phone, tablet computer, PDA, etc.)
At least one of microphone or camera.
Described above can be sent out in the case where not departing from the scope of the present invention being defined by the following claims
Bright embodiment is modified.For describe and limit such as "include", "comprise" of the invention, " merging ", " by ... structure
At ", " having ", the statements such as "Yes" be intended to be understood to non-exclusive form, that is, allow to exist the project being not explicitly described, component or
Element.Singular is interpreted as being not excluded for majority.The number in bracket in appended claims is intended to auxiliary and wants to right
The understanding asked, and be understood not to limit the requested theme of claim in any way.
Annex
Claims (32)
1. a kind of encoder (10), for encoding the data (D1) provided to the encoder (10) to generate corresponding encoded data
(D2), wherein encoder (10) includes data processing equipment (20), for one or more cataloged procedures to be applied to data
(D1) to generate coded data (D2), it is characterised in that:
(a) data processing equipment (20) can be used to, if the data (D1) are indicated with numerical symbol, at least portion
Divide ground with the set expression of the numerical symbol data (D1);
(b) data processing equipment (20) can be used to generate intermediate data (40), wherein numerical symbol is indicated with original value, with
Correction value indicates that at least one symbol, the correction value have the one or more continuum symbols generated by continuum arithmetic unit,
Wherein the value of symbol of one or more continuum symbol amendment front is to adapt to escape character range;And
(c) data processing equipment (20) can be used to processing middle data (40) to generate coded data (D2).
2. encoder (10) according to claim 1, which is characterized in that data processing equipment (20) can be used to be based on
Data (D1) are divided into the multiple by probability of occurrence and its compression efficiency of the calculated symbol in multiple portions or segment
Part or segment.
3. encoder (10) according to claim 1, which is characterized in that for the symbol in data (D1), using continuous
Arithmetic unit of uniting generates intermediate data (40), and the intermediate data (40) is by one or more transform methods and/or by one
A or multiple conversion tables (LUT) convert the symbol in data (D1) and are generated.
4. encoder (10) according to claim 3, which is characterized in that provide coded data (D2) by multiple data flows
The transmitting of wherein at least one stream indicates the information of one or more of conversion tables (LUT) and/or one or more transform methods.
5. encoder (10) according to claim 4, which is characterized in that indicate one or more of conversion tables (LUT)
Information reference transmitting coded data (D2) front transfer one or more conversion tables (LUT) and/or can be from encoder
(10) alternate source obtains indicating the information of one or more of conversion tables (LUT).
6. encoder (10) according to claim 1, which is characterized in that encoder (10) can be used to the data of processing
It (D1) include at least one of the following:Capture audio signal, capture vision signal, capture image, text data, earthquake number
According to, sensor signal, modulus (ADC) change data, biological signal data, calendar data, economic data, mathematical data, two into
Data processed.
7. encoder (10) according to claim 1, which is characterized in that data processing equipment (20) can be used to pass through
At least one of the following is used to encode to generate coded data (D2) intermediate data (40):Entropy amendment, entropy amendment (EM) are compiled
Code, ODelta coding, run length encoding (RLE) decompose run length encoding (SRLE), arithmetic coding, run-length encoding, can be changed
Length coding (VLC).
8. a kind of method in encoder (10), which is used to compile the data (D1) provided to the encoder (10)
To generate corresponding encoded data (D2), wherein encoder (10) includes data processing equipment (20) to code, for compiling one or more
Code process is applied to data (D1) to generate coded data (D2) it is characterized in that, this method includes:
(a) using data processing equipment (20) in the case where the data (D1) are indicated with numerical symbol, at least partly
With the set expression of the numerical symbol data (D1);
(b) intermediate data (40) are generated using data processing equipment (20), wherein numerical symbol is indicated with original value, with correction value
It indicates that at least one symbol, the correction value have the one or more continuum symbols generated by continuum arithmetic unit, wherein should
The value of symbol of one or more continuum symbol amendments front is to adapt to escape character range;And
(c) using data processing equipment (20) processing middle data (40) to generate coded data (D2).
9. according to the method described in claim 8, it is characterized in that, this method includes using data processing equipment (20) based on
Data (D1) are divided into the multiple portion by probability of occurrence and its compression efficiency of the symbol of calculating in multiple portions or segment
Point or segment.
10. according to the method described in claim 8, it is characterized in that, this method includes using for the symbol in data (D1)
Continuum arithmetic unit generates intermediate data (40), and the intermediate data (40) is by one or more transform methods and/or to lead to
One or more conversion tables (LUT) are crossed to convert the symbol and generate.
11. according to the method described in claim 10, it is characterized in that, this method includes providing coded number by multiple data flows
According to (D2), the transmitting of wherein at least one stream indicates one or more of conversion tables (LUT) and/or one or more transform methods
Information.
12. according to the method for claim 11, which is characterized in that indicate the letter of one or more of conversion tables (LUT)
Breath with reference to transmitting coded data (D2) front transfer one or more conversion tables (LUT) and/or can be from encoder (10)
Alternate source obtain indicating the information of one or more of conversion tables (LUT).
13. according to the method described in claim 8, it is characterized in that, this method includes the data handled using encoder (10)
It (D1) include at least one of the following:Capture audio signal, capture vision signal, capture image, text data, earthquake number
According to, sensor signal, modulus (ADC) change data, biological signal data, calendar data, economic data, mathematical data, two into
Data processed.
14. according to the method described in claim 8, it is characterized in that, this method includes being passed through using data processing equipment (20)
At least one of the following is used to encode to generate coded data (D2) intermediate data (40):Entropy amendment, entropy amendment (EM) are compiled
Code, ODelta coding, run length encoding (RLE) decompose run length encoding (SRLE), arithmetic coding, run-length encoding, can be changed
Length coding (VLC).
15. according to the method described in claim 8, it is characterized in that, usage record stores Jie in non-transient machine-readable data
One or more software products in matter realize this method, wherein one or more of software products can be in encoder
(10) it is executed on data processing equipment (20), to realize the method encoded to data (D1) to generate coded data (D2).
16. a kind of decoder (50), for decoding the coded data (D2) provided to the decoder (50) to generate corresponding solution
Wherein decoder (50) includes data processing equipment (60) to code data (D3), for being applied to compile by one or more decoding process
Code data (D2) to generate decoding data (D3) it is characterized in that:
(a) data processing equipment (60) can be used to processing coded data (D2) to generate intermediate data (40);
(b) data processing equipment (60) can be used to processing middle data (40) with decoding intermediate data, wherein in mediant
In, numerical symbol by output symbol and is at least indicated by an amendment output symbol, the amendment output symbol have one or
Multiple continuum symbols, the one or more continuum symbol then by inverse continuum arithmetic unit decode, wherein it is one or
Multiple continuum symbols correct the value of the amendment output symbol to adapt to escape character range;And
(c) data processing equipment (60) can be used to transformation and/or conversion process after intermediate data to pass through assemble of symbol
To indicate decoding data (D3).
17. decoder (50) according to claim 16, which is characterized in that data processing equipment (60) can be used to base
It, will be described in coded data (D2) conduct in probability of occurrence and its compression efficiency of the calculated symbol in multiple portions or segment
Multiple portions or segment are handled.
18. decoder (50) according to claim 16, which is characterized in that by by one or more conversion tables (LUT)
And/or the one or many transformation that limit of one or more transform methods to the value in decoding data (D3) carry out transformation and/or
Conversion, to realize that continuum arithmetic unit generates assemble of symbol.
19. decoder (50) according to claim 18, which is characterized in that provide coded data by multiple data flows
(D2) wherein at least one stream transmitting indicates one or more of conversion tables (LUT) and/or one or more transform methods
Information.
20. decoder (50) according to claim 19, which is characterized in that indicate one or more of conversion tables
(LUT) information reference transmitting coded data (D2) front transfer one or more conversion tables (LUT) and/or can be from solution
The alternate source of code device (50) obtains indicating the information of one or more of conversion tables (LUT).
21. decoder (50) according to claim 16, which is characterized in that decoder (50) can be used to the volume of processing
Code data (D2) include the version of code of at least one of the following:Capture audio signal, capture vision signal, capture image,
Text data, seismic data, sensor signal, modulus (ADC) change data, biological signal data, calendar data, economic number
According to, mathematical data, binary data.
22. decoder (50) according to claim 16, which is characterized in that data processing equipment (60) can be used to lead to
It crosses and the inverse operation of at least one of the following is used to decode to generate intermediate data (40) coded data (D2):Entropy amendment, entropy
It corrects (EM) coding, ODelta coding, run length encoding (RLE), decompose run length encoding (SRLE), arithmetic coding, row
Journey coding, variable length code (VLC).
23. a kind of decode to generate corresponding decoding the coded data (D2) provided to the decoder (50) using decoder (50)
The method of data (D3), wherein decoder (50) includes data processing equipment (60), for answering one or more decoding process
For coded data (D2) to generate decoding data (D3) it is characterized in that, this method includes:
(a) using data processing equipment (60) processing coded data (D2) to generate intermediate data (40);
(b) using data processing equipment (60) processing middle data (40) with decoding intermediate data, wherein in intermediate data, number
Be worth symbol indicates by output symbol and at least by an amendment output symbol, which has one or more continuous
System symbol, the one or more continuum symbol are then decoded by inverse continuum arithmetic unit, wherein one or more of continuous
System symbol corrects the value of the amendment output symbol to adapt to escape character range;And
(c) converted using data processing equipment (60) and/or conversion process after intermediate data with by assemble of symbol come table
Show decoding data (D3).
24. according to the method for claim 23, which is characterized in that this method includes being based on using data processing equipment (60)
Probability of occurrence and its compression efficiency of the calculated symbol in multiple portions or segment, by coded data (D2) as described more
A part or segment are handled.
25. according to the method for claim 23, which is characterized in that this method includes by by one or more conversion tables
(LUT) and/or one or many transformation of one or more transform methods restriction convert the value in decoding data (D3)
And/or conversion, assemble of symbol is generated using continuum arithmetic unit.
26. according to the method for claim 25, which is characterized in that provide coded data (D2) wherein by multiple data flows
At least one stream transmitting indicates the information of one or more of conversion tables (LUT) and/or one or more transform methods.
27. according to the method for claim 26, which is characterized in that indicate the letter of one or more of conversion tables (LUT)
Breath with reference to transmitting coded data (D2) front transfer one or more conversion tables (LUT) and/or can be from decoder (50)
Alternate source obtain indicating the information of one or more of conversion tables (LUT).
28. according to the method for claim 23, which is characterized in that this method include using decoder (50) processing include with
The coded data (D2) of at least one of lower version of code:Capture audio signal, capture vision signal, capture image, text
Notebook data, seismic data, sensor signal, modulus (ADC) change data, biological signal data, calendar data, economic data,
Mathematical data, binary data.
29. according to the method for claim 23, which is characterized in that this method includes being passed through using data processing equipment (60)
The inverse operation of at least one of the following is used to decode to generate intermediate data (40) coded data (D2):Entropy amendment, entropy are repaired
Positive (EM) coding, decomposes run length encoding (SRLE), arithmetic coding, stroke at ODelta coding, run length encoding (RLE)
Coding, variable length code (VLC).
30. according to the method for claim 23, which is characterized in that usage record is stored in non-transient machine-readable data to be situated between
One or more software products in matter realize this method, wherein one or more of software products can be in decoder
(50) it executes on data processing equipment (60), coded data (D2) is decoded with realizing to generate the side of decoding data (D3)
Method.
31. a kind of codec (100), including at least one encoder (10) according to claim 1 and at least one
The combination of decoder (50) according to claim 16, wherein at least one described decoder (50) can be used to decode
The data (D2) encoded by encoder (10).
32. a kind of electronic equipment (10,50), including at least one encoder (10) according to claim 1 and at least one
A decoder according to claim 16 (50), wherein the electronic equipment (10,50) is embodied as at least one of following
A part:Personal computer, audio/video devices, television set, wireless computer device, smart phone, mobile phone, interaction trip
Play operation bench, automotive electronic information system.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
GB1303658.7A GB2511493B (en) | 2013-03-01 | 2013-03-01 | Entropy modifier and method |
GB1303658.7 | 2013-03-01 | ||
PCT/EP2014/000531 WO2014131528A1 (en) | 2013-03-01 | 2014-03-01 | Encoder apparatus, decoder apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105409129A CN105409129A (en) | 2016-03-16 |
CN105409129B true CN105409129B (en) | 2018-11-16 |
Family
ID=48142235
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480024696.XA Active CN105409129B (en) | 2013-03-01 | 2014-03-01 | Encoder device, decoder apparatus and method |
CN201480024777.XA Active CN105164923B (en) | 2013-03-01 | 2014-03-01 | entropy corrector and method |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201480024777.XA Active CN105164923B (en) | 2013-03-01 | 2014-03-01 | entropy corrector and method |
Country Status (7)
Country | Link |
---|---|
EP (2) | EP2962397A1 (en) |
JP (1) | JP6073506B2 (en) |
KR (1) | KR102068383B1 (en) |
CN (2) | CN105409129B (en) |
GB (1) | GB2511493B (en) |
RU (1) | RU2611249C1 (en) |
WO (2) | WO2014131526A1 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2523347B (en) | 2014-02-20 | 2016-01-13 | Gurulogic Microsystems Oy | Encoder, decoder and method |
GB2527588B (en) | 2014-06-27 | 2016-05-18 | Gurulogic Microsystems Oy | Encoder and decoder |
US20190195742A1 (en) * | 2017-12-22 | 2019-06-27 | Schneider Electric Software, Llc | Automated detection of anomalous industrial process operation |
CN108737976B (en) * | 2018-05-22 | 2021-05-04 | 南京大学 | Compression transmission method based on Beidou short message |
FR3105660B1 (en) * | 2019-12-18 | 2022-10-14 | Commissariat Energie Atomique | Method and apparatus for additive signal coding for implementing dynamic precision digital MAC operations |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5764167A (en) * | 1995-05-23 | 1998-06-09 | International Business Machines Corporation | Compression and decompression of runs of ones and zeros in groups that progressively increase in size within each run |
CN1636405A (en) * | 2001-05-29 | 2005-07-06 | 皇家菲利浦电子有限公司 | Method and device for video transcoding |
CN1875634A (en) * | 2003-10-31 | 2006-12-06 | 皇家飞利浦电子股份有限公司 | Method of encoding video signals |
CN1983432A (en) * | 2005-10-31 | 2007-06-20 | 希捷科技有限公司 | Structured set partitioning and multilevel coding for partial response channels |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5550777A (en) * | 1979-05-21 | 1980-04-12 | Toshiba Corp | Information compression device |
JPS5621483A (en) * | 1979-07-31 | 1981-02-27 | Fuji Photo Film Co Ltd | Encoding system of picture signal |
JP3010631B2 (en) * | 1989-02-14 | 2000-02-21 | ソニー株式会社 | Run-length coding |
JPH036924A (en) * | 1989-06-05 | 1991-01-14 | Hitachi Ltd | Terminal equipment |
US5627534A (en) * | 1995-03-23 | 1997-05-06 | International Business Machines Corporation | Dual stage compression of bit mapped image data using refined run length and LZ compression |
JPH08294142A (en) * | 1995-04-24 | 1996-11-05 | Omron Corp | Image information compression method and image display device using this method |
US5710561A (en) * | 1996-01-02 | 1998-01-20 | Peerless Systems Corporation | Method and apparatus for double run-length encoding of binary data |
US6269338B1 (en) * | 1996-10-10 | 2001-07-31 | U.S. Philips Corporation | Data compression and expansion of an audio signal |
JP4260908B2 (en) * | 1997-06-25 | 2009-04-30 | 株式会社日本デジタル研究所 | Run-length encoding method and image processing apparatus |
JP2001136524A (en) * | 1999-11-02 | 2001-05-18 | Ricoh Co Ltd | Compression and expansion device |
US6359548B1 (en) * | 2000-10-16 | 2002-03-19 | Unisys Corporation | Data compression and decompression method and apparatus with embedded filtering of infrequently encountered strings |
US6384751B1 (en) * | 2000-12-22 | 2002-05-07 | Unisys Corporation | Data compression/decompression circuit and method |
US6719689B2 (en) * | 2001-04-30 | 2004-04-13 | Medtronic, Inc. | Method and system for compressing and storing data in a medical device having limited storage |
RU2426227C2 (en) * | 2006-11-14 | 2011-08-10 | Квэлкомм Инкорпорейтед | Encoding variable-length codes with efficient memory usage |
KR101454167B1 (en) * | 2007-09-07 | 2014-10-27 | 삼성전자주식회사 | Device and method for compressing and decompressing data |
EP2131501A1 (en) * | 2008-06-06 | 2009-12-09 | Harman Becker Automotive Systems GmbH | Data compression and decompression method and data processing apparatus |
US7804428B2 (en) * | 2008-11-10 | 2010-09-28 | Apple Inc. | System and method for compressing a stream of integer-valued data |
JP2010245938A (en) * | 2009-04-08 | 2010-10-28 | Sony Corp | Signal processing apparatus, signal processing method, and program |
EP2464017A4 (en) * | 2009-08-06 | 2012-07-11 | Panasonic Corp | Encoding method, decoding method, encoding device and decoding device |
US8410959B2 (en) * | 2010-04-09 | 2013-04-02 | Qualcomm, Incorporated | Variable length codes for coding of video data |
-
2013
- 2013-03-01 GB GB1303658.7A patent/GB2511493B/en active Active
-
2014
- 2014-03-01 RU RU2015132038A patent/RU2611249C1/en active
- 2014-03-01 WO PCT/EP2014/000529 patent/WO2014131526A1/en active Application Filing
- 2014-03-01 CN CN201480024696.XA patent/CN105409129B/en active Active
- 2014-03-01 WO PCT/EP2014/000531 patent/WO2014131528A1/en active Application Filing
- 2014-03-01 EP EP14715207.8A patent/EP2962397A1/en not_active Withdrawn
- 2014-03-01 JP JP2015559443A patent/JP6073506B2/en active Active
- 2014-03-01 EP EP14713379.7A patent/EP2962396A1/en not_active Ceased
- 2014-03-01 CN CN201480024777.XA patent/CN105164923B/en active Active
- 2014-03-01 KR KR1020157024996A patent/KR102068383B1/en active IP Right Grant
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5764167A (en) * | 1995-05-23 | 1998-06-09 | International Business Machines Corporation | Compression and decompression of runs of ones and zeros in groups that progressively increase in size within each run |
CN1636405A (en) * | 2001-05-29 | 2005-07-06 | 皇家菲利浦电子有限公司 | Method and device for video transcoding |
CN1875634A (en) * | 2003-10-31 | 2006-12-06 | 皇家飞利浦电子股份有限公司 | Method of encoding video signals |
CN1983432A (en) * | 2005-10-31 | 2007-06-20 | 希捷科技有限公司 | Structured set partitioning and multilevel coding for partial response channels |
Also Published As
Publication number | Publication date |
---|---|
WO2014131528A1 (en) | 2014-09-04 |
KR20150126858A (en) | 2015-11-13 |
CN105164923A (en) | 2015-12-16 |
EP2962396A1 (en) | 2016-01-06 |
RU2611249C1 (en) | 2017-02-21 |
EP2962397A1 (en) | 2016-01-06 |
GB2511493B (en) | 2017-04-05 |
CN105164923B (en) | 2018-10-23 |
JP2016514404A (en) | 2016-05-19 |
GB2511493A (en) | 2014-09-10 |
JP6073506B2 (en) | 2017-02-01 |
GB201303658D0 (en) | 2013-04-17 |
KR102068383B1 (en) | 2020-02-11 |
CN105409129A (en) | 2016-03-16 |
WO2014131526A1 (en) | 2014-09-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106170921B (en) | It is related to the source code and decoding method and device of the data of sign compression | |
CN105451026B (en) | Data compression | |
CN105409129B (en) | Encoder device, decoder apparatus and method | |
US8933826B2 (en) | Encoder apparatus, decoder apparatus and method | |
JP2017507590A5 (en) | ||
CN105451027A (en) | Data compression | |
CN105103549A (en) | Encoding and decoding of significant coefficients in dependence upon a parameter of the significant coefficients | |
US11202083B2 (en) | Encoder, decoder and method employing palette utilization and compression | |
CN106170922B (en) | The source code of data and decoded device and method | |
CN105379283A (en) | Data encoding and decoding | |
EP2962398A1 (en) | Encoder, decoder and method | |
EP2962399A1 (en) | Data encoder, data decoder and method | |
JP2017526252A (en) | Encoder, decoder, and method | |
KR101726572B1 (en) | Method of lossless image enconding and decoding and device performing the same | |
RU2709656C2 (en) | Encoder, decoder and method using modal symbols | |
Shie et al. | Reversible and high-payload image steganographic scheme based on side-match vector quantization | |
US12015790B2 (en) | Encoder, decoder and method employing palette compression | |
JP6821184B2 (en) | Image decoder | |
GB2523744A (en) | Encoder apparatus, decoder apparatus and method | |
CN116170599A (en) | Synchronous real-time image compression method, system, medium and terminal | |
KR20170031868A (en) | Apparatus for binary data real time compressing method of classifying binary clusters topology based on their type and value | |
Mosa | COLOR IMAGE COMPRESSION BASED ON ABSOLUTE MOMENT BLOCK TRUNCATION CODING USING DELTA ENCODING AND HUFFMAN CODING | |
KR20090112139A (en) | Method and Apparatus for Coding and Decoding using Bit-Precision |
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 |